diff --git a/css/main.css b/css/main.css index 0ac6dc9c19dd36dbc14cf8a8cfa5b5b784c90fbc..a5f149cf054fc94bc50c87b6df3760b6c42acbc0 100644 --- a/css/main.css +++ b/css/main.css @@ -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 { diff --git a/index.html b/index.html index 78d6160c5c68ece2e45843ef57e3badc23dc06c8..e1c70ada8e568a3cf3e52a51226c40c4cfad98f7 100644 --- a/index.html +++ b/index.html @@ -1,17 +1,27 @@ -<!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> diff --git a/main.js b/main.js index 44d2fae8789ceb84541bcc81c233fff11cd3c7cb..09a20b2ebb17ab48890ad86cbbb7fe74fb2cabcc 100644 --- a/main.js +++ b/main.js @@ -1,6 +1,6 @@ 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> diff --git a/package-lock.json b/package-lock.json index baccc6fcfc8db32ec63bcd698b60c97142eed173..c9526f393538a6626c025e876a08e0dd057da438 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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", diff --git a/package.json b/package.json index 8776bb8fb20360746751c34ee58b8a6a62a47aae..ad288a990ddc7c8eda81cffd8f2011abb9e219ba 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "zdog": "^1.1.3" }, "devDependencies": { - "vite": "^4.0.0" + "vite": "^4.0.0", + "vite-plugin-webfont-dl": "^3.7.4" } } diff --git a/vite.config.js b/vite.config.js index 431d05d09a376068f129faee8109233134d7c4ad..a31b1655b8a6a77d57a84e36e7c114a270397d28 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,14 +1,24 @@ -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), - } -}); \ No newline at end of file + 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), + }, + plugins: [webfontDownload()], +});