From 1f0dbf4c44d212b7e3a280dc6a367973b7a7afd0 Mon Sep 17 00:00:00 2001 From: Kuba Orlik Date: Sat, 2 Mar 2024 22:16:08 +0100 Subject: [PATCH] Add support for custom webfonts --- package-lock.json | 45 +++++++++++++++++++++++++++++++++++++++++---- package.json | 2 +- src/back/html.ts | 1 + src/fonts.json | 9 +++++++++ src/main.css | 2 +- 5 files changed, 53 insertions(+), 6 deletions(-) create mode 100644 src/fonts.json diff --git a/package-lock.json b/package-lock.json index f5ec07f..39b80a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@koa/router": "^12.0.1", "@playwright/test": "^1.36.1", "@sealcode/jdd": "^0.2.17", - "@sealcode/sealgen": "^0.12.12", + "@sealcode/sealgen": "^0.12.13", "@sealcode/ts-predicates": "^0.4.3", "@types/kill-port": "^2.0.0", "get-port": "^7.0.0", @@ -1329,14 +1329,15 @@ } }, "node_modules/@sealcode/sealgen": { - "version": "0.12.12", - "resolved": "https://registry.npmjs.org/@sealcode/sealgen/-/sealgen-0.12.12.tgz", - "integrity": "sha512-dtzF/iKUyDGEr4cVC+8sPsFbJtR/MPCjD8DGBP1ofhiIdyxSJoGGvtF9vyX+EsV2wDTlh1SmPDiEvU/e4VqwxQ==", + "version": "0.12.13", + "resolved": "https://registry.npmjs.org/@sealcode/sealgen/-/sealgen-0.12.13.tgz", + "integrity": "sha512-NWI+dcW/C/NppzYLQecO5EFPL54OK3bfk288R85m1y9Q29pV3Vd/3me/zxmlwChkn2dSybI6ER8fNgQxoaoX4Q==", "dependencies": { "@koa/router": "^12.0.1", "@sealcode/ts-predicates": "^0.4.3", "deepmerge": "^4.3.1", "esbuild": "^0.20.0", + "google-fonts-helper": "^3.4.1", "js-convert-case": "^4.2.0", "locreq": "^3.0.0", "md5": "^2.3.0", @@ -4054,6 +4055,11 @@ "node": ">= 0.8" } }, + "node_modules/destr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", + "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==" + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -5379,6 +5385,17 @@ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" }, + "node_modules/google-fonts-helper": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/google-fonts-helper/-/google-fonts-helper-3.4.1.tgz", + "integrity": "sha512-unq9c1NF771916DrVR2MTpMJ5iHiMSjMBApErjhWT1FZIE+7x+Qik+w6cYi5jw/KtHELz+tyGAKgQetTU9wrlA==", + "dependencies": { + "deepmerge": "^4.3.1", + "hookable": "^5.5.3", + "ofetch": "^1.3.3", + "ufo": "^1.3.2" + } + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -5525,6 +5542,11 @@ "integrity": "sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==", "deprecated": "This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues." }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -7792,6 +7814,11 @@ } } }, + "node_modules/node-fetch-native": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz", + "integrity": "sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==" + }, "node_modules/node-preload": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", @@ -8164,6 +8191,16 @@ "node": ">= 10.12.0" } }, + "node_modules/ofetch": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz", + "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==", + "dependencies": { + "destr": "^2.0.1", + "node-fetch-native": "^1.4.0", + "ufo": "^1.3.0" + } + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", diff --git a/package.json b/package.json index 7994fbf..554cef6 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@koa/router": "^12.0.1", "@playwright/test": "^1.36.1", "@sealcode/jdd": "^0.2.17", - "@sealcode/sealgen": "^0.12.12", + "@sealcode/sealgen": "^0.12.13", "@sealcode/ts-predicates": "^0.4.3", "@types/kill-port": "^2.0.0", "get-port": "^7.0.0", diff --git a/src/back/html.ts b/src/back/html.ts index e931161..38debcc 100644 --- a/src/back/html.ts +++ b/src/back/html.ts @@ -18,6 +18,7 @@ export const defaultHead = ( rel="stylesheet" type="text/css" /> + ${options.morphing ? `` : ""} ${options.preserveScroll ? `` diff --git a/src/fonts.json b/src/fonts.json new file mode 100644 index 0000000..398c0ef --- /dev/null +++ b/src/fonts.json @@ -0,0 +1,9 @@ +{ + "googleFonts": { + "families": { + "Ubuntu": true, + "Libre Baskerville": true, + "Ubuntu Mono": true + } + } +} diff --git a/src/main.css b/src/main.css index 03b7da2..157e88a 100644 --- a/src/main.css +++ b/src/main.css @@ -2,7 +2,7 @@ html { background: #eee; - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", + font-family: Ubuntu, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Segoe UI Emoji", "Segoe UI Symbol", "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;