@geekity/cms 0.39.0 → 0.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/pages/appearance/look.njk +135 -0
- package/admin/pages/dashboard/home.njk +9 -3
- package/admin/pages/documents/conflict.njk +35 -10
- package/admin/pages/documents/editor.njk +28 -0
- package/admin/pages/documents/list.njk +44 -1
- package/admin/pages/settings/general.njk +4 -0
- package/admin/pages/users/edit.njk +1 -1
- package/admin/src/admin.css +32 -0
- package/admin/static/admin.css +197 -3
- package/admin/static/dashboard.js +51 -23
- package/admin/static/editor.js +19 -19
- package/dist/admin/autosave-client.d.ts +85 -0
- package/dist/admin/autosave-client.d.ts.map +1 -0
- package/dist/admin/autosave-client.js +218 -0
- package/dist/admin/autosave-client.js.map +1 -0
- package/dist/admin/autosave.d.ts +11 -0
- package/dist/admin/autosave.d.ts.map +1 -0
- package/dist/admin/autosave.js +76 -0
- package/dist/admin/autosave.js.map +1 -0
- package/dist/admin/dashboard.d.ts +2 -2
- package/dist/admin/dashboard.d.ts.map +1 -1
- package/dist/admin/dashboard.js +23 -15
- package/dist/admin/dashboard.js.map +1 -1
- package/dist/admin/documents.d.ts.map +1 -1
- package/dist/admin/documents.js +205 -16
- package/dist/admin/documents.js.map +1 -1
- package/dist/admin/flash.d.ts +2 -0
- package/dist/admin/flash.d.ts.map +1 -1
- package/dist/admin/flash.js +12 -0
- package/dist/admin/flash.js.map +1 -1
- package/dist/admin/focus-mode.d.ts +39 -0
- package/dist/admin/focus-mode.d.ts.map +1 -0
- package/dist/admin/focus-mode.js +81 -0
- package/dist/admin/focus-mode.js.map +1 -0
- package/dist/admin/formatting.d.ts +0 -2
- package/dist/admin/formatting.d.ts.map +1 -1
- package/dist/admin/formatting.js +0 -8
- package/dist/admin/formatting.js.map +1 -1
- package/dist/admin/look.d.ts +12 -0
- package/dist/admin/look.d.ts.map +1 -0
- package/dist/admin/look.js +179 -0
- package/dist/admin/look.js.map +1 -0
- package/dist/admin/menu.d.ts.map +1 -1
- package/dist/admin/menu.js +5 -3
- package/dist/admin/menu.js.map +1 -1
- package/dist/admin/preview.d.ts.map +1 -1
- package/dist/admin/preview.js +1 -0
- package/dist/admin/preview.js.map +1 -1
- package/dist/admin/routes.d.ts.map +1 -1
- package/dist/admin/routes.js +6 -4
- package/dist/admin/routes.js.map +1 -1
- package/dist/admin/settings-fields.d.ts +1 -1
- package/dist/admin/settings-fields.d.ts.map +1 -1
- package/dist/admin/settings-fields.js +1 -0
- package/dist/admin/settings-fields.js.map +1 -1
- package/dist/admin/settings-general.d.ts.map +1 -1
- package/dist/admin/settings-general.js +1 -0
- package/dist/admin/settings-general.js.map +1 -1
- package/dist/admin/templates.d.ts +1 -0
- package/dist/admin/templates.d.ts.map +1 -1
- package/dist/admin/templates.js +2 -1
- package/dist/admin/templates.js.map +1 -1
- package/dist/admin/users.d.ts.map +1 -1
- package/dist/admin/users.js +2 -0
- package/dist/admin/users.js.map +1 -1
- package/dist/admin/widget-fediverse.js +1 -1
- package/dist/admin/widget-posting.d.ts.map +1 -1
- package/dist/admin/widget-posting.js +4 -75
- package/dist/admin/widget-posting.js.map +1 -1
- package/dist/admin/widget-scheduled.js +1 -1
- package/dist/admin/widget-top-posts.js +1 -1
- package/dist/autosave/index.d.ts +5 -0
- package/dist/autosave/index.d.ts.map +1 -0
- package/dist/autosave/index.js +3 -0
- package/dist/autosave/index.js.map +1 -0
- package/dist/autosave/key.d.ts +13 -0
- package/dist/autosave/key.d.ts.map +1 -0
- package/dist/autosave/key.js +29 -0
- package/dist/autosave/key.js.map +1 -0
- package/dist/autosave/store.d.ts +23 -0
- package/dist/autosave/store.d.ts.map +1 -0
- package/dist/autosave/store.js +114 -0
- package/dist/autosave/store.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/cms/app.d.ts.map +1 -1
- package/dist/cms/app.js +1 -0
- package/dist/cms/app.js.map +1 -1
- package/dist/cms/boot.d.ts.map +1 -1
- package/dist/cms/boot.js +2 -0
- package/dist/cms/boot.js.map +1 -1
- package/dist/cms/create.d.ts +6 -0
- package/dist/cms/create.d.ts.map +1 -1
- package/dist/cms/create.js +1 -0
- package/dist/cms/create.js.map +1 -1
- package/dist/cms/server-error.d.ts.map +1 -1
- package/dist/cms/server-error.js +6 -6
- package/dist/cms/server-error.js.map +1 -1
- package/dist/cms/services.d.ts +2 -0
- package/dist/cms/services.d.ts.map +1 -1
- package/dist/cms/services.js +9 -0
- package/dist/cms/services.js.map +1 -1
- package/dist/{micropub/content.d.ts → content/html-to-markdown.d.ts} +1 -1
- package/dist/content/html-to-markdown.d.ts.map +1 -0
- package/dist/{micropub/content.js → content/html-to-markdown.js} +11 -9
- package/dist/content/html-to-markdown.js.map +1 -0
- package/dist/content/post-type.d.ts +1 -0
- package/dist/content/post-type.d.ts.map +1 -1
- package/dist/content/post-type.js +1 -1
- package/dist/content/post-type.js.map +1 -1
- package/dist/content/review.d.ts +14 -0
- package/dist/content/review.d.ts.map +1 -1
- package/dist/content/review.js +31 -8
- package/dist/content/review.js.map +1 -1
- package/dist/content/write.d.ts +8 -0
- package/dist/content/write.d.ts.map +1 -1
- package/dist/content/write.js +1 -1
- package/dist/content/write.js.map +1 -1
- package/dist/files/data-files.d.ts +2 -0
- package/dist/files/data-files.d.ts.map +1 -1
- package/dist/files/data-files.js +12 -0
- package/dist/files/data-files.js.map +1 -1
- package/dist/fonts/css.d.ts +25 -0
- package/dist/fonts/css.d.ts.map +1 -0
- package/dist/fonts/css.js +88 -0
- package/dist/fonts/css.js.map +1 -0
- package/dist/fonts/family.d.ts +23 -0
- package/dist/fonts/family.d.ts.map +1 -0
- package/dist/fonts/family.js +41 -0
- package/dist/fonts/family.js.map +1 -0
- package/dist/fonts/index.d.ts +10 -0
- package/dist/fonts/index.d.ts.map +1 -0
- package/dist/fonts/index.js +6 -0
- package/dist/fonts/index.js.map +1 -0
- package/dist/fonts/job.d.ts +20 -0
- package/dist/fonts/job.d.ts.map +1 -0
- package/dist/fonts/job.js +49 -0
- package/dist/fonts/job.js.map +1 -0
- package/dist/fonts/roles.d.ts +53 -0
- package/dist/fonts/roles.d.ts.map +1 -0
- package/dist/fonts/roles.js +64 -0
- package/dist/fonts/roles.js.map +1 -0
- package/dist/fonts/store.d.ts +69 -0
- package/dist/fonts/store.d.ts.map +1 -0
- package/dist/fonts/store.js +237 -0
- package/dist/fonts/store.js.map +1 -0
- package/dist/maintenance.d.ts +1 -0
- package/dist/maintenance.d.ts.map +1 -1
- package/dist/maintenance.js +1 -1
- package/dist/maintenance.js.map +1 -1
- package/dist/micropub/create.js +1 -1
- package/dist/micropub/create.js.map +1 -1
- package/dist/plugin.d.ts +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/settings/registry.d.ts.map +1 -1
- package/dist/settings/registry.js +5 -1
- package/dist/settings/registry.js.map +1 -1
- package/dist/settings/types.d.ts +1 -1
- package/dist/settings/types.d.ts.map +1 -1
- package/dist/site/dashboard-layout.d.ts +33 -26
- package/dist/site/dashboard-layout.d.ts.map +1 -1
- package/dist/site/dashboard-layout.js +94 -39
- package/dist/site/dashboard-layout.js.map +1 -1
- package/dist/site/namespace.d.ts +5 -0
- package/dist/site/namespace.d.ts.map +1 -1
- package/dist/site/namespace.js +40 -1
- package/dist/site/namespace.js.map +1 -1
- package/dist/store/schema.d.ts.map +1 -1
- package/dist/store/schema.js +4 -0
- package/dist/store/schema.js.map +1 -1
- package/dist/store/sessions.d.ts +2 -1
- package/dist/store/sessions.d.ts.map +1 -1
- package/dist/store/sessions.js +30 -12
- package/dist/store/sessions.js.map +1 -1
- package/dist/theme/font-family.d.ts +13 -0
- package/dist/theme/font-family.d.ts.map +1 -0
- package/dist/theme/font-family.js +21 -0
- package/dist/theme/font-family.js.map +1 -0
- package/dist/theme/scheme-tokens.d.ts +50 -0
- package/dist/theme/scheme-tokens.d.ts.map +1 -0
- package/dist/theme/scheme-tokens.js +240 -0
- package/dist/theme/scheme-tokens.js.map +1 -0
- package/dist/theme/site-data.d.ts +12 -0
- package/dist/theme/site-data.d.ts.map +1 -1
- package/dist/theme/site-data.js +15 -0
- package/dist/theme/site-data.js.map +1 -1
- package/dist/theme/themes.d.ts +74 -0
- package/dist/theme/themes.d.ts.map +1 -1
- package/dist/theme/themes.js +100 -9
- package/dist/theme/themes.js.map +1 -1
- package/dist/util/file-size.d.ts +3 -0
- package/dist/util/file-size.d.ts.map +1 -0
- package/dist/util/file-size.js +9 -0
- package/dist/util/file-size.js.map +1 -0
- package/dist/web/asset-routes.d.ts.map +1 -1
- package/dist/web/asset-routes.js +2 -1
- package/dist/web/asset-routes.js.map +1 -1
- package/dist/web/conversation.d.ts +15 -0
- package/dist/web/conversation.d.ts.map +1 -1
- package/dist/web/conversation.js +10 -3
- package/dist/web/conversation.js.map +1 -1
- package/dist/web/document-page.d.ts.map +1 -1
- package/dist/web/document-page.js +11 -13
- package/dist/web/document-page.js.map +1 -1
- package/dist/web/embed.d.ts.map +1 -1
- package/dist/web/embed.js +4 -2
- package/dist/web/embed.js.map +1 -1
- package/dist/web/env.d.ts +2 -0
- package/dist/web/env.d.ts.map +1 -1
- package/dist/web/federation-routes.d.ts.map +1 -1
- package/dist/web/federation-routes.js +2 -1
- package/dist/web/federation-routes.js.map +1 -1
- package/dist/web/feed-routes.d.ts +4 -2
- package/dist/web/feed-routes.d.ts.map +1 -1
- package/dist/web/feed-routes.js +22 -4
- package/dist/web/feed-routes.js.map +1 -1
- package/dist/web/feed-source.d.ts +1 -1
- package/dist/web/feed-source.d.ts.map +1 -1
- package/dist/web/feed-source.js +1 -1
- package/dist/web/feed-source.js.map +1 -1
- package/dist/web/font-routes.d.ts +13 -0
- package/dist/web/font-routes.d.ts.map +1 -0
- package/dist/web/font-routes.js +27 -0
- package/dist/web/font-routes.js.map +1 -0
- package/dist/web/listing-pages.d.ts.map +1 -1
- package/dist/web/listing-pages.js +12 -14
- package/dist/web/listing-pages.js.map +1 -1
- package/dist/web/maintenance.d.ts.map +1 -1
- package/dist/web/maintenance.js +12 -8
- package/dist/web/maintenance.js.map +1 -1
- package/dist/web/manifest.d.ts +8 -5
- package/dist/web/manifest.d.ts.map +1 -1
- package/dist/web/manifest.js +10 -7
- package/dist/web/manifest.js.map +1 -1
- package/dist/web/markdown-conversation.d.ts +72 -0
- package/dist/web/markdown-conversation.d.ts.map +1 -0
- package/dist/web/markdown-conversation.js +63 -0
- package/dist/web/markdown-conversation.js.map +1 -0
- package/dist/web/markdown-page.d.ts +39 -0
- package/dist/web/markdown-page.d.ts.map +1 -1
- package/dist/web/markdown-page.js +5 -2
- package/dist/web/markdown-page.js.map +1 -1
- package/dist/web/markdown-representation.d.ts +31 -1
- package/dist/web/markdown-representation.d.ts.map +1 -1
- package/dist/web/markdown-representation.js +161 -8
- package/dist/web/markdown-representation.js.map +1 -1
- package/dist/web/negotiate.d.ts +3 -2
- package/dist/web/negotiate.d.ts.map +1 -1
- package/dist/web/negotiate.js +7 -3
- package/dist/web/negotiate.js.map +1 -1
- package/dist/web/oembed.d.ts +17 -3
- package/dist/web/oembed.d.ts.map +1 -1
- package/dist/web/oembed.js +68 -26
- package/dist/web/oembed.js.map +1 -1
- package/dist/web/render.d.ts +64 -5
- package/dist/web/render.d.ts.map +1 -1
- package/dist/web/render.js +185 -10
- package/dist/web/render.js.map +1 -1
- package/dist/web/request.d.ts +0 -3
- package/dist/web/request.d.ts.map +1 -1
- package/dist/web/request.js +0 -7
- package/dist/web/request.js.map +1 -1
- package/dist/web/routes.d.ts.map +1 -1
- package/dist/web/routes.js +13 -7
- package/dist/web/routes.js.map +1 -1
- package/dist/web/search.d.ts +6 -3
- package/dist/web/search.d.ts.map +1 -1
- package/dist/web/search.js +20 -5
- package/dist/web/search.js.map +1 -1
- package/dist/web/site-index.d.ts.map +1 -1
- package/dist/web/site-index.js +2 -1
- package/dist/web/site-index.js.map +1 -1
- package/dist/web/status-pages.d.ts +19 -0
- package/dist/web/status-pages.d.ts.map +1 -0
- package/dist/web/status-pages.js +44 -0
- package/dist/web/status-pages.js.map +1 -0
- package/dist/webmention/fetch-public.d.ts +6 -0
- package/dist/webmention/fetch-public.d.ts.map +1 -1
- package/dist/webmention/fetch-public.js +6 -1
- package/dist/webmention/fetch-public.js.map +1 -1
- package/package.json +1 -1
- package/themes/default/layouts/404.md.njk +8 -0
- package/themes/default/layouts/410.md.njk +7 -0
- package/themes/default/layouts/500.md.njk +8 -0
- package/themes/default/layouts/503.md.njk +9 -0
- package/themes/default/layouts/base.njk +28 -16
- package/themes/default/layouts/page.njk +4 -8
- package/themes/default/partials/bio.njk +1 -1
- package/themes/default/partials/contact-form.njk +1 -1
- package/themes/default/partials/markdown-footer.md.njk +121 -3
- package/themes/default/partials/markdown-header.md.njk +102 -0
- package/themes/default/partials/markdown-reply.md.njk +31 -0
- package/themes/default/src/style.css +326 -15
- package/themes/default/static/style.css +489 -3
- package/themes/default/theme.json +23 -1
- package/dist/micropub/content.d.ts.map +0 -1
- package/dist/micropub/content.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-files.d.ts","sourceRoot":"","sources":["../../src/files/data-files.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data-files.d.ts","sourceRoot":"","sources":["../../src/files/data-files.ts"],"names":[],"mappings":"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"}
|
package/dist/files/data-files.js
CHANGED
|
@@ -225,6 +225,11 @@ export const AVATARS = declareDataFile({
|
|
|
225
225
|
dataClass: REBUILDABLE,
|
|
226
226
|
lost: 'Cached avatars, fetched again by the avatar sweep.',
|
|
227
227
|
});
|
|
228
|
+
export const FONTS = declareDataFile({
|
|
229
|
+
pattern: 'fonts/**',
|
|
230
|
+
dataClass: REBUILDABLE,
|
|
231
|
+
lost: "The Google Fonts the site hosts. Pages use the theme's system fonts until a job fetches them again.",
|
|
232
|
+
});
|
|
228
233
|
export const QUEUE = declareDataFile({
|
|
229
234
|
pattern: 'queue.sqlite',
|
|
230
235
|
dataClass: PENDING,
|
|
@@ -235,6 +240,11 @@ export const QUEUE_LOG = declareDataFile({
|
|
|
235
240
|
dataClass: PENDING,
|
|
236
241
|
lost: "The queue's write-ahead log, which goes with the queue.",
|
|
237
242
|
});
|
|
243
|
+
export const AUTOSAVE = declareDataFile({
|
|
244
|
+
pattern: 'autosave/**',
|
|
245
|
+
dataClass: PENDING,
|
|
246
|
+
lost: "Each writer's editor changes since their last save. The posts and pages themselves are not touched.",
|
|
247
|
+
});
|
|
238
248
|
export const CORE_DATA_FILES = [
|
|
239
249
|
TEMPORARY_FILES,
|
|
240
250
|
LOCK_FILES,
|
|
@@ -264,8 +274,10 @@ export const CORE_DATA_FILES = [
|
|
|
264
274
|
DATABASE_LOG,
|
|
265
275
|
IMAGES,
|
|
266
276
|
AVATARS,
|
|
277
|
+
FONTS,
|
|
267
278
|
QUEUE,
|
|
268
279
|
QUEUE_LOG,
|
|
280
|
+
AUTOSAVE,
|
|
269
281
|
];
|
|
270
282
|
export const WATCH_PROBE = declareDataFile({
|
|
271
283
|
pattern: '.geekity-watch-*/**',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-files.js","sourceRoot":"","sources":["../../src/files/data-files.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-files.js","sourceRoot":"","sources":["../../src/files/data-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { FontStyle } from './family.ts';
|
|
2
|
+
export interface GoogleFace {
|
|
3
|
+
readonly family: string;
|
|
4
|
+
readonly style: FontStyle;
|
|
5
|
+
/** An https URL on fonts.gstatic.com. */
|
|
6
|
+
readonly src: string;
|
|
7
|
+
readonly unicodeRange: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
export type GoogleCss = {
|
|
10
|
+
readonly ok: true;
|
|
11
|
+
readonly faces: readonly GoogleFace[];
|
|
12
|
+
} | {
|
|
13
|
+
readonly ok: false;
|
|
14
|
+
readonly reason: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function isFontFileUrl(url: URL): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* The faces a CSS2 stylesheet declares. Every `url()` in it has to be an https
|
|
19
|
+
* URL on fonts.gstatic.com and every block an `@font-face` whose values read
|
|
20
|
+
* as what they claim to be, because the stylesheet the site serves is written
|
|
21
|
+
* from these values and nothing else.
|
|
22
|
+
*/
|
|
23
|
+
export declare function parseGoogleCss(text: string): GoogleCss;
|
|
24
|
+
export declare function faceRule(face: GoogleFace, href: string): string;
|
|
25
|
+
//# sourceMappingURL=css.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/fonts/css.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAOpD,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CA6BtD;AAuCD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAY/D"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { isFontFamilyName } from '../theme/font-family.js';
|
|
2
|
+
import { FONT_FILES_ORIGIN } from './family.js';
|
|
3
|
+
const URL_TOKEN = /url\(\s*(['"]?)([^'")]*)\1\s*\)/g;
|
|
4
|
+
const FACE_BLOCK = /@font-face\s*\{([^{}]*)\}/g;
|
|
5
|
+
const UNICODE_RANGE = /^U\+[0-9A-Fa-f?]{1,6}(?:-[0-9A-Fa-f]{1,6})?(?:\s*,\s*U\+[0-9A-Fa-f?]{1,6}(?:-[0-9A-Fa-f]{1,6})?)*$/;
|
|
6
|
+
export function isFontFileUrl(url) {
|
|
7
|
+
return url.origin === FONT_FILES_ORIGIN && url.username === '' && url.password === '';
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The faces a CSS2 stylesheet declares. Every `url()` in it has to be an https
|
|
11
|
+
* URL on fonts.gstatic.com and every block an `@font-face` whose values read
|
|
12
|
+
* as what they claim to be, because the stylesheet the site serves is written
|
|
13
|
+
* from these values and nothing else.
|
|
14
|
+
*/
|
|
15
|
+
export function parseGoogleCss(text) {
|
|
16
|
+
for (const [, , value = ''] of text.matchAll(URL_TOKEN)) {
|
|
17
|
+
let url;
|
|
18
|
+
try {
|
|
19
|
+
url = new URL(value);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return { ok: false, reason: `the stylesheet names ${value}, which is not a URL` };
|
|
23
|
+
}
|
|
24
|
+
if (!isFontFileUrl(url)) {
|
|
25
|
+
return {
|
|
26
|
+
ok: false,
|
|
27
|
+
reason: `the stylesheet names ${url.href}, which is not on ${FONT_FILES_ORIGIN}`,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const css = text.replace(/\/\*[\s\S]*?\*\//g, '');
|
|
32
|
+
if (css.replace(FACE_BLOCK, '').trim() !== '') {
|
|
33
|
+
return { ok: false, reason: 'the stylesheet holds more than @font-face rules' };
|
|
34
|
+
}
|
|
35
|
+
const faces = [];
|
|
36
|
+
for (const [, body = ''] of css.matchAll(FACE_BLOCK)) {
|
|
37
|
+
const face = readFace(body);
|
|
38
|
+
if (typeof face === 'string')
|
|
39
|
+
return { ok: false, reason: face };
|
|
40
|
+
faces.push(face);
|
|
41
|
+
}
|
|
42
|
+
if (faces.length === 0)
|
|
43
|
+
return { ok: false, reason: 'the stylesheet declares no faces' };
|
|
44
|
+
return { ok: true, faces };
|
|
45
|
+
}
|
|
46
|
+
function readFace(body) {
|
|
47
|
+
const declarations = new Map();
|
|
48
|
+
for (const declaration of body.split(';')) {
|
|
49
|
+
const colon = declaration.indexOf(':');
|
|
50
|
+
if (colon === -1)
|
|
51
|
+
continue;
|
|
52
|
+
declarations.set(declaration.slice(0, colon).trim().toLowerCase(), declaration.slice(colon + 1).trim());
|
|
53
|
+
}
|
|
54
|
+
const family = /^(['"])(.*)\1$/.exec(declarations.get('font-family') ?? '')?.[2];
|
|
55
|
+
if (family === undefined || !isFontFamilyName(family)) {
|
|
56
|
+
return `a face names the family ${String(declarations.get('font-family'))}`;
|
|
57
|
+
}
|
|
58
|
+
const fontStyle = declarations.get('font-style') ?? 'normal';
|
|
59
|
+
if (fontStyle !== 'normal' && fontStyle !== 'italic')
|
|
60
|
+
return `a face has the style ${fontStyle}`;
|
|
61
|
+
const weightText = declarations.get('font-weight') ?? '400';
|
|
62
|
+
if (!/^\d{3}$/.test(weightText))
|
|
63
|
+
return `a face has the weight ${weightText}`;
|
|
64
|
+
const weight = Number(weightText);
|
|
65
|
+
const srcText = declarations.get('src') ?? '';
|
|
66
|
+
const src = /^url\(\s*(['"]?)([^'")]*)\1\s*\)\s*format\(\s*(['"])woff2\3\s*\)$/.exec(srcText)?.[2];
|
|
67
|
+
if (src === undefined)
|
|
68
|
+
return `a face's source is ${srcText}, not one WOFF2 file`;
|
|
69
|
+
const unicodeRange = declarations.get('unicode-range');
|
|
70
|
+
if (unicodeRange !== undefined && !UNICODE_RANGE.test(unicodeRange)) {
|
|
71
|
+
return `a face has the unicode-range ${unicodeRange}`;
|
|
72
|
+
}
|
|
73
|
+
return { family, style: { weight, italic: fontStyle === 'italic' }, src, unicodeRange };
|
|
74
|
+
}
|
|
75
|
+
export function faceRule(face, href) {
|
|
76
|
+
return [
|
|
77
|
+
'@font-face {',
|
|
78
|
+
` font-family: '${face.family}';`,
|
|
79
|
+
` font-style: ${face.style.italic ? 'italic' : 'normal'};`,
|
|
80
|
+
` font-weight: ${String(face.style.weight)};`,
|
|
81
|
+
' font-display: swap;',
|
|
82
|
+
` src: url(${href}) format('woff2');`,
|
|
83
|
+
...(face.unicodeRange === undefined ? [] : [` unicode-range: ${face.unicodeRange};`]),
|
|
84
|
+
'}',
|
|
85
|
+
'',
|
|
86
|
+
].join('\n');
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../src/fonts/css.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type FontStyle = {
|
|
2
|
+
/** 100 to 900, in hundreds. */
|
|
3
|
+
readonly weight: number;
|
|
4
|
+
readonly italic: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare const CSS2_ORIGIN = "https://fonts.googleapis.com";
|
|
7
|
+
export declare const FONT_FILES_ORIGIN = "https://fonts.gstatic.com";
|
|
8
|
+
/** The folder name a family's files live under: `atkinson-hyperlegible`. */
|
|
9
|
+
export declare function fontFamilySlug(family: string): string;
|
|
10
|
+
export declare function isFontStyle(style: FontStyle): boolean;
|
|
11
|
+
/** The styles once each, upright before italic and lighter before bolder, which is the order Google wants. */
|
|
12
|
+
export declare function canonicalStyles(styles: readonly FontStyle[]): FontStyle[];
|
|
13
|
+
/** `400`, or `400i` for an italic. */
|
|
14
|
+
export declare function styleKey(style: FontStyle): string;
|
|
15
|
+
/** `400 italic`, as a refusal names it. */
|
|
16
|
+
export declare function styleLabel(style: FontStyle): string;
|
|
17
|
+
/**
|
|
18
|
+
* The CSS2 API URL for a family in these styles, or for the family alone when
|
|
19
|
+
* `styles` is empty. Spaces are `+` and the axis tuples are sorted, as the
|
|
20
|
+
* API requires.
|
|
21
|
+
*/
|
|
22
|
+
export declare function css2Url(family: string, styles: readonly FontStyle[]): string;
|
|
23
|
+
//# sourceMappingURL=family.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family.d.ts","sourceRoot":"","sources":["../../src/fonts/family.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAE7D,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAOrD;AAED,8GAA8G;AAC9G,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,EAAE,CAKzE;AAED,sCAAsC;AACtC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEjD;AAED,2CAA2C;AAC3C,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAO5E"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export const CSS2_ORIGIN = 'https://fonts.googleapis.com';
|
|
2
|
+
export const FONT_FILES_ORIGIN = 'https://fonts.gstatic.com';
|
|
3
|
+
/** The folder name a family's files live under: `atkinson-hyperlegible`. */
|
|
4
|
+
export function fontFamilySlug(family) {
|
|
5
|
+
return family.toLowerCase().replaceAll(' ', '-');
|
|
6
|
+
}
|
|
7
|
+
export function isFontStyle(style) {
|
|
8
|
+
return (Number.isInteger(style.weight) &&
|
|
9
|
+
style.weight >= 100 &&
|
|
10
|
+
style.weight <= 900 &&
|
|
11
|
+
style.weight % 100 === 0);
|
|
12
|
+
}
|
|
13
|
+
/** The styles once each, upright before italic and lighter before bolder, which is the order Google wants. */
|
|
14
|
+
export function canonicalStyles(styles) {
|
|
15
|
+
const unique = new Map(styles.map((style) => [styleKey(style), style]));
|
|
16
|
+
return [...unique.values()]
|
|
17
|
+
.map(({ weight, italic }) => ({ weight, italic }))
|
|
18
|
+
.sort((a, b) => Number(a.italic) - Number(b.italic) || a.weight - b.weight);
|
|
19
|
+
}
|
|
20
|
+
/** `400`, or `400i` for an italic. */
|
|
21
|
+
export function styleKey(style) {
|
|
22
|
+
return `${String(style.weight)}${style.italic ? 'i' : ''}`;
|
|
23
|
+
}
|
|
24
|
+
/** `400 italic`, as a refusal names it. */
|
|
25
|
+
export function styleLabel(style) {
|
|
26
|
+
return `${String(style.weight)}${style.italic ? ' italic' : ''}`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The CSS2 API URL for a family in these styles, or for the family alone when
|
|
30
|
+
* `styles` is empty. Spaces are `+` and the axis tuples are sorted, as the
|
|
31
|
+
* API requires.
|
|
32
|
+
*/
|
|
33
|
+
export function css2Url(family, styles) {
|
|
34
|
+
const name = family.replaceAll(' ', '+');
|
|
35
|
+
const tuples = canonicalStyles(styles)
|
|
36
|
+
.map((style) => `${style.italic ? '1' : '0'},${String(style.weight)}`)
|
|
37
|
+
.join(';');
|
|
38
|
+
const axes = tuples === '' ? '' : `:ital,wght@${tuples}`;
|
|
39
|
+
return `${CSS2_ORIGIN}/css2?family=${name}${axes}&display=swap`;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=family.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family.js","sourceRoot":"","sources":["../../src/fonts/family.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,WAAW,GAAG,8BAA8B,CAAC;AAE1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAE7D,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC1C,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B,KAAK,CAAC,MAAM,IAAI,GAAG;QACnB,KAAK,CAAC,MAAM,IAAI,GAAG;QACnB,KAAK,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,CACzB,CAAC;AACJ,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,eAAe,CAAC,MAA4B;IAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SACxB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAChF,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACvC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7D,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,MAA4B;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;SACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;SACrE,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,IAAI,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,MAAM,EAAE,CAAC;IACzD,OAAO,GAAG,WAAW,gBAAgB,IAAI,GAAG,IAAI,eAAe,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { isFontFamilyName } from '../theme/font-family.ts';
|
|
2
|
+
export { css2Url, fontFamilySlug } from './family.ts';
|
|
3
|
+
export type { FontStyle } from './family.ts';
|
|
4
|
+
export { FONT_FETCH_JOB, fontFetchJob, queueFontFetch } from './job.ts';
|
|
5
|
+
export type { FontFetchPayload, FontFetchResult } from './job.ts';
|
|
6
|
+
export { FONT_PATH_PREFIX, createFontStore } from './store.ts';
|
|
7
|
+
export type { FontFetch, FontRefusal, FontStore, FontStylesheet } from './store.ts';
|
|
8
|
+
export { createPageFonts, declaredFontRoles } from './roles.ts';
|
|
9
|
+
export type { FontRole, PageFont, PageFontsOptions } from './roles.ts';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fonts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACxE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { isFontFamilyName } from '../theme/font-family.js';
|
|
2
|
+
export { css2Url, fontFamilySlug } from './family.js';
|
|
3
|
+
export { FONT_FETCH_JOB, fontFetchJob, queueFontFetch } from './job.js';
|
|
4
|
+
export { FONT_PATH_PREFIX, createFontStore } from './store.js';
|
|
5
|
+
export { createPageFonts, declaredFontRoles } from './roles.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fonts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { JobDefinition, JobQueue } from '../jobs/types.ts';
|
|
2
|
+
import type { FontStyle } from './family.ts';
|
|
3
|
+
import type { FontStore } from './store.ts';
|
|
4
|
+
export type FontFetchPayload = {
|
|
5
|
+
readonly family: string;
|
|
6
|
+
readonly styles: readonly FontStyle[];
|
|
7
|
+
};
|
|
8
|
+
export type FontFetchResult = {
|
|
9
|
+
readonly family: string;
|
|
10
|
+
readonly href: string;
|
|
11
|
+
readonly fetched: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const FONT_FETCH_JOB: import("../jobs/types.ts").JobName<FontFetchPayload, FontFetchResult>;
|
|
14
|
+
export declare function fontFetchJob(fonts: FontStore): JobDefinition<FontFetchPayload, FontFetchResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Queue a fetch of the family in these styles, unless one for the same family
|
|
17
|
+
* and styles is already queued or running. Resolves with the job's id.
|
|
18
|
+
*/
|
|
19
|
+
export declare function queueFontFetch(jobs: JobQueue, family: string, styles: readonly FontStyle[]): Promise<string>;
|
|
20
|
+
//# sourceMappingURL=job.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/fonts/job.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,cAAc,uEAA2D,CAAC;AAEvF,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAAC,gBAAgB,EAAE,eAAe,CAAC,CA+B/F;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,SAAS,EAAE,GAC3B,OAAO,CAAC,MAAM,CAAC,CAQjB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jobName } from '../jobs/types.js';
|
|
2
|
+
import { isRecord } from '../util/guards.js';
|
|
3
|
+
import { canonicalStyles } from './family.js';
|
|
4
|
+
export const FONT_FETCH_JOB = jobName('fetch-font');
|
|
5
|
+
export function fontFetchJob(fonts) {
|
|
6
|
+
return {
|
|
7
|
+
name: FONT_FETCH_JOB.name,
|
|
8
|
+
parse(payload) {
|
|
9
|
+
const family = isRecord(payload) ? payload['family'] : undefined;
|
|
10
|
+
const styles = isRecord(payload) ? payload['styles'] : undefined;
|
|
11
|
+
if (typeof family !== 'string' || !Array.isArray(styles)) {
|
|
12
|
+
throw new Error('A font fetch job needs a family and its styles.');
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
family,
|
|
16
|
+
styles: styles.map((style) => {
|
|
17
|
+
const weight = isRecord(style) ? style['weight'] : undefined;
|
|
18
|
+
const italic = isRecord(style) ? style['italic'] : undefined;
|
|
19
|
+
if (typeof weight !== 'number' || typeof italic !== 'boolean') {
|
|
20
|
+
throw new Error('A font style is a weight and whether it is italic.');
|
|
21
|
+
}
|
|
22
|
+
return { weight, italic };
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
async run({ family, styles }, context) {
|
|
27
|
+
const fetched = await fonts.ensure(family, styles, context.signal);
|
|
28
|
+
if (!fetched.ok)
|
|
29
|
+
throw new Error(fetched.refusal.message);
|
|
30
|
+
return {
|
|
31
|
+
family: fetched.stylesheet.family,
|
|
32
|
+
href: fetched.stylesheet.href,
|
|
33
|
+
fetched: fetched.fetched,
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Queue a fetch of the family in these styles, unless one for the same family
|
|
40
|
+
* and styles is already queued or running. Resolves with the job's id.
|
|
41
|
+
*/
|
|
42
|
+
export async function queueFontFetch(jobs, family, styles) {
|
|
43
|
+
const payload = { family, styles: canonicalStyles(styles) };
|
|
44
|
+
const same = JSON.stringify(payload);
|
|
45
|
+
const active = await jobs.list(['queued', 'running']);
|
|
46
|
+
const waiting = active.find((job) => job.name === FONT_FETCH_JOB.name && JSON.stringify(job.payload) === same);
|
|
47
|
+
return waiting?.id ?? (await jobs.enqueue(FONT_FETCH_JOB, payload));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/fonts/job.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { CssFontStack } from '../theme/font-family.ts';
|
|
2
|
+
import type { ThemeFont } from '../theme/themes.ts';
|
|
3
|
+
import type { FontStyle } from './family.ts';
|
|
4
|
+
import type { FontStore } from './store.ts';
|
|
5
|
+
export declare const FONT_ROLES: readonly [{
|
|
6
|
+
readonly role: 'heading';
|
|
7
|
+
readonly setting: 'heading_font';
|
|
8
|
+
readonly fileKey: 'headingFont';
|
|
9
|
+
readonly styles: readonly [{
|
|
10
|
+
readonly weight: 700;
|
|
11
|
+
readonly italic: false;
|
|
12
|
+
}];
|
|
13
|
+
}, {
|
|
14
|
+
readonly role: 'body';
|
|
15
|
+
readonly setting: 'body_font';
|
|
16
|
+
readonly fileKey: 'bodyFont';
|
|
17
|
+
readonly styles: readonly [{
|
|
18
|
+
readonly weight: 400;
|
|
19
|
+
readonly italic: false;
|
|
20
|
+
}, {
|
|
21
|
+
readonly weight: 400;
|
|
22
|
+
readonly italic: true;
|
|
23
|
+
}, {
|
|
24
|
+
readonly weight: 700;
|
|
25
|
+
readonly italic: false;
|
|
26
|
+
}];
|
|
27
|
+
}];
|
|
28
|
+
export type FontRole = (typeof FONT_ROLES)[number];
|
|
29
|
+
export interface PageFont {
|
|
30
|
+
readonly font: ThemeFont;
|
|
31
|
+
readonly family: string;
|
|
32
|
+
/** The hosted `@font-face` stylesheet, same-origin and fingerprinted. */
|
|
33
|
+
readonly href: string;
|
|
34
|
+
/** What the role's custom property is set to: the family, then the theme's stack. */
|
|
35
|
+
readonly value: CssFontStack;
|
|
36
|
+
}
|
|
37
|
+
/** The roles the theme declares that the site can set a font for, in {@link FONT_ROLES} order. */
|
|
38
|
+
export declare function declaredFontRoles(declared: readonly ThemeFont[]): {
|
|
39
|
+
readonly font: ThemeFont;
|
|
40
|
+
readonly role: FontRole;
|
|
41
|
+
}[];
|
|
42
|
+
export interface PageFontsOptions {
|
|
43
|
+
readonly store: FontStore;
|
|
44
|
+
readonly refetch: (family: string, styles: readonly FontStyle[]) => Promise<unknown>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The fonts a page is set in: each role the theme declares whose family the
|
|
48
|
+
* site chose and whose files are here. A family whose files are gone is left
|
|
49
|
+
* out, so the page falls back to the theme's stack, and a fetch of it is
|
|
50
|
+
* queued once until its files are back.
|
|
51
|
+
*/
|
|
52
|
+
export declare function createPageFonts(options: PageFontsOptions): (site: Readonly<Record<string, unknown>>, declared: readonly ThemeFont[]) => PageFont[];
|
|
53
|
+
//# sourceMappingURL=roles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/fonts/roles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,UAAU;mBAEb,SAAS;sBACN,cAAc;sBACd,aAAa;;yBACH,GAAG;;;;mBAGhB,MAAM;sBACH,WAAW;sBACX,UAAU;;yBAEP,GAAG;;;yBACH,GAAG;;;yBACH,GAAG;;;EAQhB,CAAC;AAEJ,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,EAAE,CAKzD;AAYD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACtF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,GACxB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,SAAS,EAAE,KAAK,QAAQ,EAAE,CAyBzF"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { cssFontStackWith, isFontFamilyName } from '../theme/font-family.js';
|
|
2
|
+
export const FONT_ROLES = [
|
|
3
|
+
{
|
|
4
|
+
role: 'heading',
|
|
5
|
+
setting: 'heading_font',
|
|
6
|
+
fileKey: 'headingFont',
|
|
7
|
+
styles: [{ weight: 700, italic: false }],
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
role: 'body',
|
|
11
|
+
setting: 'body_font',
|
|
12
|
+
fileKey: 'bodyFont',
|
|
13
|
+
styles: [
|
|
14
|
+
{ weight: 400, italic: false },
|
|
15
|
+
{ weight: 400, italic: true },
|
|
16
|
+
{ weight: 700, italic: false },
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
/** The roles the theme declares that the site can set a font for, in {@link FONT_ROLES} order. */
|
|
21
|
+
export function declaredFontRoles(declared) {
|
|
22
|
+
return FONT_ROLES.flatMap((role) => {
|
|
23
|
+
const font = declared.find((each) => each.role === role.role);
|
|
24
|
+
return font === undefined ? [] : [{ font, role }];
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function chosenFonts(site, declared) {
|
|
28
|
+
return declaredFontRoles(declared).map(({ font, role }) => {
|
|
29
|
+
const named = site[role.fileKey];
|
|
30
|
+
return { font, role, family: typeof named === 'string' ? named.trim() : '' };
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The fonts a page is set in: each role the theme declares whose family the
|
|
35
|
+
* site chose and whose files are here. A family whose files are gone is left
|
|
36
|
+
* out, so the page falls back to the theme's stack, and a fetch of it is
|
|
37
|
+
* queued once until its files are back.
|
|
38
|
+
*/
|
|
39
|
+
export function createPageFonts(options) {
|
|
40
|
+
const { store, refetch } = options;
|
|
41
|
+
const queued = new Set();
|
|
42
|
+
return (site, declared) => chosenFonts(site, declared).flatMap(({ font, role, family }) => {
|
|
43
|
+
if (!isFontFamilyName(family))
|
|
44
|
+
return [];
|
|
45
|
+
const key = `${family}\n${role.role}`;
|
|
46
|
+
const stylesheet = store.stylesheet(family, role.styles);
|
|
47
|
+
if (stylesheet === undefined) {
|
|
48
|
+
if (!queued.has(key)) {
|
|
49
|
+
queued.add(key);
|
|
50
|
+
refetch(family, role.styles).catch((thrown) => {
|
|
51
|
+
queued.delete(key);
|
|
52
|
+
console.warn(`No fetch of the font ${family} was queued: ${String(thrown)}`);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
queued.delete(key);
|
|
58
|
+
const value = cssFontStackWith(stylesheet.family, font.fallback);
|
|
59
|
+
return value === undefined
|
|
60
|
+
? []
|
|
61
|
+
: [{ font, family: stylesheet.family, href: stylesheet.href, value }];
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=roles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/fonts/roles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { StaticAsset } from '../files/static-files.ts';
|
|
2
|
+
import type { HostLookup } from '../util/public-address.ts';
|
|
3
|
+
import type { FontStyle } from './family.ts';
|
|
4
|
+
export declare const FONT_PATH_PREFIX = "/_geekity/fonts/";
|
|
5
|
+
/**
|
|
6
|
+
* The CSS2 API answers each browser with what it can use. A current desktop
|
|
7
|
+
* Chrome is answered with WOFF2 files split into unicode-range subsets.
|
|
8
|
+
*/
|
|
9
|
+
export declare const FONT_FETCH_USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36";
|
|
10
|
+
/** How long one request to Google is given, body included. */
|
|
11
|
+
export declare const FONT_FETCH_TIMEOUT_MS = 15000;
|
|
12
|
+
/** Why a family was not fetched. `message` is a sentence for the person who chose it. */
|
|
13
|
+
export type FontRefusal = {
|
|
14
|
+
readonly kind: 'invalid-name';
|
|
15
|
+
readonly family: string;
|
|
16
|
+
readonly message: string;
|
|
17
|
+
} | {
|
|
18
|
+
readonly kind: 'unknown-family';
|
|
19
|
+
readonly family: string;
|
|
20
|
+
readonly message: string;
|
|
21
|
+
} | {
|
|
22
|
+
readonly kind: 'missing-styles';
|
|
23
|
+
readonly family: string;
|
|
24
|
+
readonly styles: readonly FontStyle[];
|
|
25
|
+
readonly message: string;
|
|
26
|
+
} | {
|
|
27
|
+
readonly kind: 'unavailable';
|
|
28
|
+
readonly family: string;
|
|
29
|
+
readonly message: string;
|
|
30
|
+
};
|
|
31
|
+
export interface FontStylesheet {
|
|
32
|
+
/** Same-origin, with `?v=` the hash of its bytes, so it can be cached for a year. */
|
|
33
|
+
readonly href: string;
|
|
34
|
+
readonly family: string;
|
|
35
|
+
}
|
|
36
|
+
export type FontFetch = {
|
|
37
|
+
readonly ok: true;
|
|
38
|
+
readonly stylesheet: FontStylesheet;
|
|
39
|
+
/** Whether Google was asked: false when every file was already here. */
|
|
40
|
+
readonly fetched: boolean;
|
|
41
|
+
} | {
|
|
42
|
+
readonly ok: false;
|
|
43
|
+
readonly refusal: FontRefusal;
|
|
44
|
+
};
|
|
45
|
+
export interface CreateFontStoreOptions {
|
|
46
|
+
readonly dataDir: string;
|
|
47
|
+
readonly hostLookup: HostLookup;
|
|
48
|
+
}
|
|
49
|
+
export interface FontStore {
|
|
50
|
+
/**
|
|
51
|
+
* Make sure the family is here in these styles: nothing to do when its
|
|
52
|
+
* stylesheet and every file it names are on disk, else fetch it. A family
|
|
53
|
+
* or style Google lacks is a refusal, and nothing is written. Two calls for
|
|
54
|
+
* the same family and styles at once share one fetch.
|
|
55
|
+
*/
|
|
56
|
+
ensure(family: string, styles: readonly FontStyle[], signal?: AbortSignal): Promise<FontFetch>;
|
|
57
|
+
/**
|
|
58
|
+
* The stylesheet to link for the family in these styles, or `undefined`
|
|
59
|
+
* when it has not been fetched or a file it names is gone. Synchronous, for
|
|
60
|
+
* a page render: it costs a `stat` while the stylesheet is unchanged.
|
|
61
|
+
*/
|
|
62
|
+
stylesheet(family: string, styles: readonly FontStyle[]): FontStylesheet | undefined;
|
|
63
|
+
/** A file the store wrote, for the font route, or `undefined` for any other name. */
|
|
64
|
+
file(slug: string, name: string): StaticAsset | undefined;
|
|
65
|
+
/** Resolve once every fetch in flight has finished. */
|
|
66
|
+
settled(): Promise<void>;
|
|
67
|
+
}
|
|
68
|
+
export declare function createFontStore(options: CreateFontStoreOptions): FontStore;
|
|
69
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/fonts/store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAc5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,oHACiF,CAAC;AAEpH,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAY5C,yFAAyF;AACzF,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpF;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtF;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,MAAM,WAAW,cAAc;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,SAAS,GACjB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/F;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,cAAc,GAAG,SAAS,CAAC;IACrF,qFAAqF;IACrF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAC1D,uDAAuD;IACvD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAkI1E"}
|