Skip to content
Snippets Groups Projects
Commit 9b054069 authored by Jakob Yanagibashi's avatar Jakob Yanagibashi :nail_care_tone4:
Browse files

Implement local google font support

parent 8f477cdb
No related branches found
No related tags found
1 merge request!5New logo
Pipeline #263180 passed
......@@ -12,62 +12,60 @@
body {
display: flex;
flex-flow: column wrap;
font-family: ui-sans-serif, sans-serif;
font-family: "Space Mono", ui-monospace, monospace, ui-sans-serif, sans-serif;
-webkit-user-select: none; /* still needed for Safari 16 */
user-select: none;
}
menu {
display: inline-block;
display: inline-flex;
list-style-type: none;
padding: 0;
margin: 0;
}
header {
display: none;
}
#tailorbirdLogo {
--logosize-scalefactor: 1.5;
height: calc(102px / var(--logosize-scalefactor));
width: calc(334px / var(--logosize-scalefactor));
}
menu > li {
display: inline-block;
}
menu button {
border-radius: 0.25rem;
background-color: #ccc;
background-color: var(--200-color);
padding: 0.25rem 0.75rem;
margin: 0 0.5rem;
border: 1.5px solid #ccc;
border: 1.5px solid var(--300-color);
transition: 0.3s;
cursor: pointer;
}
menu button.buttonRightFlat {
margin-right: 0;
border-right: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
menu button.buttonLeftFlat {
margin-left: 0;
border-left: none;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
menu button:hover {
background-color: #bbb;
border-color: #7a7a7a;
background-color: var(--300-color);
border-color: var(--400-color);
}
menu button:active {
background-color: #999;
background-color: var(--400-color);
}
menu button:disabled {
color: #aaa;
color: var(--100-color);
}
menu.menu-impressum {
padding-left: 1rem;
font-size: 0.75rem;
vertical-align: bottom;
vertical-align: top;
}
menu.menu-impressum li:not(:last-child)::after {
content: "\00B7";
}
menu.menu-impressum a {
text-decoration: none;
color: #000;
color: black;
}
menu.menu-right {
float: right;
......@@ -80,7 +78,7 @@ main {
}
section {
outline: 2px solid black;
outline: 2px solid var(--400-color);
display: flex;
flex-direction: column;
height: 100vh;
......@@ -91,13 +89,14 @@ section#viewer {
}
article#viewer-settings {
background-color: #eee;
padding: 0.5rem 0 0 0.5rem;
outline: 2px solid black;
background: no-repeat url(img/icon.svg) var(--100-color);
margin: 0 1rem;
padding: 0.5rem 0 0 3rem;
outline: 2px solid var(--400-color);
}
section#tools {
background-color: #eee;
background-color: var(--100-color);
flex: none; /* Equivalent to flex: 0 0 auto; */
}
......@@ -131,15 +130,15 @@ article#tools-list {
}
#list-commands {
background-color: #eee;
background-color: var(--100-color);
}
#list-commands > ul {
background-color: #bbb;
background-color: var(--200-color);
}
#list-commands > ul > ul {
background-color: #999;
background-color: var(--400-color);
}
#list-commands li {
......@@ -150,17 +149,16 @@ article#tools-list {
#list-commands li.selected {
color: white;
background-color: darkslategray;
background-color: var(--sub-highlight-color);
}
#list-commands li:hover {
color: white;
background-color: darkgray;
background-color: var(--main-highlight-color);
}
#list-commands li.selected:hover {
color: white;
background-color: darkslategray;
background-color: var(--sub-highlight-color);
}
article#tools-list-buttons {
......
<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Tailorbird</title>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5a6b5d">
<meta name="apple-mobile-web-app-title" content="Tailorbird">
<meta name="application-name" content="Tailorbird">
<meta name="msapplication-TileColor" content="#e1e1e1">
<meta name="theme-color" content="#e1e1e1"></head>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
<link rel="manifest" href="/site.webmanifest" />
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5a6b5d" />
<meta name="apple-mobile-web-app-title" content="Tailorbird" />
<meta name="application-name" content="Tailorbird" />
<meta name="msapplication-TileColor" content="#e1e1e1" />
<meta name="theme-color" content="#e1e1e1" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Space+Mono&display=swap"
rel="stylesheet"
/>
</head>
<body>
<div id="app"></div>
<script type="module" src="/main.js"></script>
</body></html>
\ No newline at end of file
</body>
</html>
import "normalize.css";
import "./css/main.css";
import tailorbirdLogo from "./img/logo-new.jpg";
import tailorbirdLogo from "./img/icon.svg";
// Zdog
import * as Zdog from "zdog";
......@@ -26,18 +26,16 @@ if (import.meta.env.VITE_APP_BRANCH == "dev") {
document.querySelector("#app").innerHTML = `
<main>
<section id="viewer">
<article id="viewer-main">
<canvas class="zdog-canvas"></canvas>
</article>
<article id="viewer-settings">
<!-- <img id="tailorbirdLogo" src="${tailorbirdLogo}" /> -->
<menu>
<li>
<button id="zoomIntoViewButton">
<button id="zoomIntoViewButton" class="buttonRightFlat">
<i class="fa-solid fa-magnifying-glass-plus"></i>
</button>
</li>
<li>
<button id="zoomOutViewButton">
<button id="zoomOutViewButton" class="buttonLeftFlat">
<i class="fa-solid fa-magnifying-glass-minus"></i>
</button>
</li>
......@@ -51,21 +49,15 @@ document.querySelector("#app").innerHTML = `
<li>
<a href="#" id="helpLink">About</a>
</li>
<li>
<a href="mailto:yanagibashi@kg.rwth-aachen.de">Contact</a>
</li>
<li>
<a href="https://www.kg.rwth-aachen.de/cms/KG/Footer/Service/~vcyq/Impressum/">Impressum</a>
</li>
</menu>
<menu class="menu-right">
<li>
<button id="saveProjectMenuButton">
<button id="saveProjectMenuButton" class="buttonRightFlat">
<i class="fa-solid fa-floppy-disk"></i> Save
</button>
</li>
<li>
<button id="loadProjectMenuButton">
<button id="loadProjectMenuButton" class="buttonLeftFlat">
<i class="fa-solid fa-folder-open"></i> Load
</button>
</li>
......@@ -81,9 +73,11 @@ document.querySelector("#app").innerHTML = `
</li>
</menu>
</article>
<article id="viewer-main">
<canvas class="zdog-canvas"></canvas>
</article>
</section>
<section id="tools">
<img id="tailorbirdLogo" src="${tailorbirdLogo}" />
<article id="tools-edit">
<menu>
<li>
......@@ -131,11 +125,21 @@ document.querySelector("#app").innerHTML = `
<li><i class="fa-solid fa-share fa-rotate-90"></i> <span class="helpControlText">Jump to: O</span></li>
</ul>
</p>
<p>
<ul>
<li>
<a href="mailto:yanagibashi@kg.rwth-aachen.de">Contact</a>
</li>
<li>
<a href="https://www.kg.rwth-aachen.de/cms/KG/Footer/Service/~vcyq/Impressum/">Impressum</a>
</li>
</ul>
</p>
<form method="dialog">
<menu>
<button value="example1">Load example 1</button>
<button value="example2">Load example 2</button>
<button value="cancel">Close</button>
<li><button value="example1">Load example 1</button></li>
<li><button value="example2">Load example 2</button></li>
<li><button value="cancel">Close</button></li>
</menu>
</form>
</dialog>
......
......@@ -15,7 +15,8 @@
"zdog": "^1.1.3"
},
"devDependencies": {
"vite": "^4.0.0"
"vite": "^4.0.0",
"vite-plugin-webfont-dl": "^3.7.4"
}
},
"node_modules/@esbuild/android-arm": {
......@@ -384,6 +385,78 @@
"resolved": "https://registry.npmjs.org/ajon/-/ajon-2.1.4.tgz",
"integrity": "sha512-1ps1cw66hwwm3K9OkF+7T6nZX9V3KKAgpzKqqlRXW7G7mheBYjW8eea0T3kc9rleyqcilcvpJwhNwTMkCqN8CA=="
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"dev": true
},
"node_modules/axios": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
"integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
"dev": true,
"dependencies": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"node_modules/clean-css": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz",
"integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==",
"dev": true,
"dependencies": {
"source-map": "~0.6.0"
},
"engines": {
"node": ">= 10.0"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"dev": true,
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/esbuild": {
"version": "0.17.18",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz",
......@@ -421,6 +494,65 @@
"@esbuild/win32-x64": "0.17.18"
}
},
"node_modules/flat-cache": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
"integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
"dev": true,
"dependencies": {
"flatted": "^3.1.0",
"rimraf": "^3.0.2"
},
"engines": {
"node": "^10.12.0 || >=12.0.0"
}
},
"node_modules/flatted": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
"integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
"dev": true
},
"node_modules/follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dev": true,
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
......@@ -435,6 +567,75 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
"engines": {
"node": "*"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"dependencies": {
"mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
"engines": {
"node": "*"
}
},
"node_modules/nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
......@@ -458,6 +659,24 @@
"resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
"dependencies": {
"wrappy": "1"
}
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
......@@ -492,6 +711,12 @@
"node": "^10 || ^12 || >=14"
}
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"dev": true
},
"node_modules/rhaboo": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/rhaboo/-/rhaboo-3.2.2.tgz",
......@@ -500,6 +725,21 @@
"ajon": "^2.0.0"
}
},
"node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
},
"bin": {
"rimraf": "bin.js"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/rollup": {
"version": "3.21.5",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.5.tgz",
......@@ -516,6 +756,15 @@
"fsevents": "~2.3.2"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
......@@ -573,6 +822,27 @@
}
}
},
"node_modules/vite-plugin-webfont-dl": {
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/vite-plugin-webfont-dl/-/vite-plugin-webfont-dl-3.7.4.tgz",
"integrity": "sha512-cCvP4aMHevcug0KAPd8v0ll8eA7NqWOI7SQ/qKTshpb4Di18zsdo2Z/ECgZSrVd9UpJhCFVso52WgO+zM0sQeQ==",
"dev": true,
"dependencies": {
"axios": "^1.2",
"clean-css": "^5.3",
"flat-cache": "^3.0",
"picocolors": "^1.0"
},
"peerDependencies": {
"vite": "^2 || ^3 || ^4"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
},
"node_modules/zdog": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/zdog/-/zdog-1.1.3.tgz",
......
......@@ -30,6 +30,7 @@
"zdog": "^1.1.3"
},
"devDependencies": {
"vite": "^4.0.0"
"vite": "^4.0.0",
"vite-plugin-webfont-dl": "^3.7.4"
}
}
import { defineConfig } from 'vite'
import { defineConfig } from "vite";
import * as child from "child_process";
import webfontDownload from "vite-plugin-webfont-dl";
const commitDate = new Date(child.execSync('git log -1 --format=%cI').toString().trimEnd()).toDateString();
const branchName = child.execSync('git rev-parse --abbrev-ref HEAD').toString().trimEnd();
const commitHash = child.execSync('git rev-parse --short HEAD').toString().trimEnd();
const commitDate = new Date(
child.execSync("git log -1 --format=%cI").toString().trimEnd()
).toDateString();
const branchName = child
.execSync("git rev-parse --abbrev-ref HEAD")
.toString()
.trimEnd();
const commitHash = child
.execSync("git rev-parse --short HEAD")
.toString()
.trimEnd();
export default defineConfig({
define: {
'import.meta.env.VITE_APP_DATE': JSON.stringify(commitDate),
'import.meta.env.VITE_APP_BRANCH': JSON.stringify(branchName),
'import.meta.env.VITE_APP_HASH': JSON.stringify(commitHash),
}
"import.meta.env.VITE_APP_DATE": JSON.stringify(commitDate),
"import.meta.env.VITE_APP_BRANCH": JSON.stringify(branchName),
"import.meta.env.VITE_APP_HASH": JSON.stringify(commitHash),
},
plugins: [webfontDownload()],
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment