@geekity/cms 0.3.0 → 0.5.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/README.md +2217 -214
- package/admin/components/fields.njk +165 -0
- package/admin/layouts/base.njk +1 -1
- package/admin/layouts/settings-page.njk +26 -0
- package/admin/layouts/shell.njk +17 -3
- package/admin/pages/account/forgot.njk +47 -0
- package/admin/pages/account/login.njk +26 -0
- package/admin/pages/account/reset.njk +38 -0
- package/admin/pages/account/setup.njk +28 -0
- package/admin/pages/appearance/themes.njk +69 -0
- package/admin/pages/comments/all.njk +133 -0
- package/admin/{layouts/dashboard.njk → pages/dashboard/home.njk} +8 -15
- package/admin/{layouts/document-conflict.njk → pages/documents/conflict.njk} +1 -0
- package/admin/{layouts/document-editor.njk → pages/documents/editor.njk} +75 -59
- package/admin/{layouts/document-list.njk → pages/documents/list.njk} +19 -2
- package/admin/pages/documents/taxonomy.njk +95 -0
- package/admin/pages/federation/followers.njk +238 -0
- package/admin/pages/federation/settings.njk +77 -0
- package/admin/pages/media/library.njk +160 -0
- package/admin/pages/messages/all.njk +110 -0
- package/admin/pages/navigation/menus.njk +129 -0
- package/admin/{layouts → pages}/placeholder.njk +5 -1
- package/admin/pages/settings/discussion.njk +99 -0
- package/admin/pages/settings/email.njk +203 -0
- package/admin/pages/settings/general.njk +29 -0
- package/admin/pages/settings/permalinks.njk +50 -0
- package/admin/pages/settings/reading.njk +64 -0
- package/admin/pages/tools/content-index.njk +89 -0
- package/admin/pages/users/edit.njk +239 -0
- package/admin/pages/users/list.njk +51 -0
- package/admin/pages/users/new.njk +41 -0
- package/admin/static/admin.css +558 -3
- package/admin/static/copy.js +52 -0
- package/admin/static/editor.js +16 -16
- package/admin/static/slug.js +61 -0
- package/dist/access-log.d.ts +44 -0
- package/dist/access-log.d.ts.map +1 -0
- package/dist/access-log.js +71 -0
- package/dist/access-log.js.map +1 -0
- package/dist/admin/accounts.d.ts +413 -0
- package/dist/admin/accounts.d.ts.map +1 -0
- package/dist/admin/accounts.js +680 -0
- package/dist/admin/accounts.js.map +1 -0
- package/dist/admin/appearance.d.ts +80 -0
- package/dist/admin/appearance.d.ts.map +1 -0
- package/dist/admin/appearance.js +136 -0
- package/dist/admin/appearance.js.map +1 -0
- package/dist/admin/comments.d.ts +90 -0
- package/dist/admin/comments.d.ts.map +1 -0
- package/dist/admin/comments.js +244 -0
- package/dist/admin/comments.js.map +1 -0
- package/dist/admin/credentials.d.ts +26 -2
- package/dist/admin/credentials.d.ts.map +1 -1
- package/dist/admin/credentials.js +35 -2
- package/dist/admin/credentials.js.map +1 -1
- package/dist/admin/documents.d.ts +117 -10
- package/dist/admin/documents.d.ts.map +1 -1
- package/dist/admin/documents.js +328 -41
- package/dist/admin/documents.js.map +1 -1
- package/dist/admin/federation.d.ts +161 -50
- package/dist/admin/federation.d.ts.map +1 -1
- package/dist/admin/federation.js +235 -93
- package/dist/admin/federation.js.map +1 -1
- package/dist/admin/formatting.d.ts +20 -0
- package/dist/admin/formatting.d.ts.map +1 -0
- package/dist/admin/formatting.js +72 -0
- package/dist/admin/formatting.js.map +1 -0
- package/dist/admin/headers.d.ts +65 -0
- package/dist/admin/headers.d.ts.map +1 -0
- package/dist/admin/headers.js +104 -0
- package/dist/admin/headers.js.map +1 -0
- package/dist/admin/index.d.ts +38 -12
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +25 -7
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/media.d.ts +168 -0
- package/dist/admin/media.d.ts.map +1 -0
- package/dist/admin/media.js +295 -0
- package/dist/admin/media.js.map +1 -0
- package/dist/admin/menu.d.ts +79 -0
- package/dist/admin/menu.d.ts.map +1 -0
- package/dist/admin/menu.js +143 -0
- package/dist/admin/menu.js.map +1 -0
- package/dist/admin/messages.d.ts +80 -0
- package/dist/admin/messages.d.ts.map +1 -0
- package/dist/admin/messages.js +152 -0
- package/dist/admin/messages.js.map +1 -0
- package/dist/admin/navigation.d.ts +155 -0
- package/dist/admin/navigation.d.ts.map +1 -0
- package/dist/admin/navigation.js +292 -0
- package/dist/admin/navigation.js.map +1 -0
- package/dist/admin/preview.d.ts.map +1 -1
- package/dist/admin/preview.js +31 -7
- package/dist/admin/preview.js.map +1 -1
- package/dist/admin/recovery.d.ts +92 -0
- package/dist/admin/recovery.d.ts.map +1 -0
- package/dist/admin/recovery.js +229 -0
- package/dist/admin/recovery.js.map +1 -0
- package/dist/admin/routes.d.ts +0 -20
- package/dist/admin/routes.d.ts.map +1 -1
- package/dist/admin/routes.js +164 -105
- package/dist/admin/routes.js.map +1 -1
- package/dist/admin/session.d.ts +17 -3
- package/dist/admin/session.d.ts.map +1 -1
- package/dist/admin/session.js +19 -5
- package/dist/admin/session.js.map +1 -1
- package/dist/admin/settings-discussion.d.ts +37 -0
- package/dist/admin/settings-discussion.d.ts.map +1 -0
- package/dist/admin/settings-discussion.js +117 -0
- package/dist/admin/settings-discussion.js.map +1 -0
- package/dist/admin/settings-email.d.ts +54 -0
- package/dist/admin/settings-email.d.ts.map +1 -0
- package/dist/admin/settings-email.js +189 -0
- package/dist/admin/settings-email.js.map +1 -0
- package/dist/admin/settings-federation.d.ts +48 -0
- package/dist/admin/settings-federation.d.ts.map +1 -0
- package/dist/admin/settings-federation.js +123 -0
- package/dist/admin/settings-federation.js.map +1 -0
- package/dist/admin/settings-general.d.ts +12 -0
- package/dist/admin/settings-general.d.ts.map +1 -0
- package/dist/admin/settings-general.js +48 -0
- package/dist/admin/settings-general.js.map +1 -0
- package/dist/admin/settings-page.d.ts +119 -0
- package/dist/admin/settings-page.d.ts.map +1 -0
- package/dist/admin/settings-page.js +132 -0
- package/dist/admin/settings-page.js.map +1 -0
- package/dist/admin/settings-pages.d.ts +30 -0
- package/dist/admin/settings-pages.d.ts.map +1 -0
- package/dist/admin/settings-pages.js +43 -0
- package/dist/admin/settings-pages.js.map +1 -0
- package/dist/admin/settings-permalinks.d.ts +16 -0
- package/dist/admin/settings-permalinks.d.ts.map +1 -0
- package/dist/admin/settings-permalinks.js +32 -0
- package/dist/admin/settings-permalinks.js.map +1 -0
- package/dist/admin/settings-reading.d.ts +34 -0
- package/dist/admin/settings-reading.d.ts.map +1 -0
- package/dist/admin/settings-reading.js +49 -0
- package/dist/admin/settings-reading.js.map +1 -0
- package/dist/admin/settings.d.ts +339 -96
- package/dist/admin/settings.d.ts.map +1 -1
- package/dist/admin/settings.js +600 -308
- package/dist/admin/settings.js.map +1 -1
- package/dist/admin/store.d.ts +606 -152
- package/dist/admin/store.d.ts.map +1 -1
- package/dist/admin/store.js +863 -268
- package/dist/admin/store.js.map +1 -1
- package/dist/admin/taxonomy.d.ts +114 -0
- package/dist/admin/taxonomy.d.ts.map +1 -0
- package/dist/admin/taxonomy.js +289 -0
- package/dist/admin/taxonomy.js.map +1 -0
- package/dist/admin/templates.d.ts +46 -14
- package/dist/admin/templates.d.ts.map +1 -1
- package/dist/admin/templates.js +46 -14
- package/dist/admin/templates.js.map +1 -1
- package/dist/admin/throttle.d.ts +84 -0
- package/dist/admin/throttle.d.ts.map +1 -0
- package/dist/admin/throttle.js +143 -0
- package/dist/admin/throttle.js.map +1 -0
- package/dist/admin/tools.d.ts +111 -0
- package/dist/admin/tools.d.ts.map +1 -0
- package/dist/admin/tools.js +182 -0
- package/dist/admin/tools.js.map +1 -0
- package/dist/admin/uploads.d.ts +28 -2
- package/dist/admin/uploads.d.ts.map +1 -1
- package/dist/admin/uploads.js +43 -4
- package/dist/admin/uploads.js.map +1 -1
- package/dist/admin/users.d.ts +100 -13
- package/dist/admin/users.d.ts.map +1 -1
- package/dist/admin/users.js +412 -39
- package/dist/admin/users.js.map +1 -1
- package/dist/cache.d.ts +141 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +207 -0
- package/dist/cache.js.map +1 -0
- package/dist/cli.d.ts +14 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +429 -21
- package/dist/cli.js.map +1 -1
- package/dist/comments/akismet.d.ts +130 -0
- package/dist/comments/akismet.d.ts.map +1 -0
- package/dist/comments/akismet.js +274 -0
- package/dist/comments/akismet.js.map +1 -0
- package/dist/comments/conversation.d.ts +29 -0
- package/dist/comments/conversation.d.ts.map +1 -0
- package/dist/comments/conversation.js +60 -0
- package/dist/comments/conversation.js.map +1 -0
- package/dist/comments/form.d.ts +123 -0
- package/dist/comments/form.d.ts.map +1 -0
- package/dist/comments/form.js +79 -0
- package/dist/comments/form.js.map +1 -0
- package/dist/comments/index.d.ts +16 -0
- package/dist/comments/index.d.ts.map +1 -0
- package/dist/comments/index.js +10 -0
- package/dist/comments/index.js.map +1 -0
- package/dist/comments/markdown.d.ts +8 -0
- package/dist/comments/markdown.d.ts.map +1 -0
- package/dist/comments/markdown.js +85 -0
- package/dist/comments/markdown.js.map +1 -0
- package/dist/comments/moderate.d.ts +71 -0
- package/dist/comments/moderate.d.ts.map +1 -0
- package/dist/comments/moderate.js +88 -0
- package/dist/comments/moderate.js.map +1 -0
- package/dist/comments/policy.d.ts +57 -0
- package/dist/comments/policy.d.ts.map +1 -0
- package/dist/comments/policy.js +80 -0
- package/dist/comments/policy.js.map +1 -0
- package/dist/comments/records.d.ts +266 -0
- package/dist/comments/records.d.ts.map +1 -0
- package/dist/comments/records.js +487 -0
- package/dist/comments/records.js.map +1 -0
- package/dist/comments/routes.d.ts +60 -0
- package/dist/comments/routes.d.ts.map +1 -0
- package/dist/comments/routes.js +212 -0
- package/dist/comments/routes.js.map +1 -0
- package/dist/comments/submission.d.ts +297 -0
- package/dist/comments/submission.d.ts.map +1 -0
- package/dist/comments/submission.js +280 -0
- package/dist/comments/submission.js.map +1 -0
- package/dist/comments/viewer.d.ts +21 -0
- package/dist/comments/viewer.d.ts.map +1 -0
- package/dist/comments/viewer.js +45 -0
- package/dist/comments/viewer.js.map +1 -0
- package/dist/config.d.ts +225 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +121 -6
- package/dist/config.js.map +1 -1
- package/dist/contact/delivery.d.ts +60 -0
- package/dist/contact/delivery.d.ts.map +1 -0
- package/dist/contact/delivery.js +87 -0
- package/dist/contact/delivery.js.map +1 -0
- package/dist/contact/form.d.ts +130 -0
- package/dist/contact/form.d.ts.map +1 -0
- package/dist/contact/form.js +163 -0
- package/dist/contact/form.js.map +1 -0
- package/dist/contact/index.d.ts +17 -0
- package/dist/contact/index.d.ts.map +1 -0
- package/dist/contact/index.js +13 -0
- package/dist/contact/index.js.map +1 -0
- package/dist/contact/records.d.ts +124 -0
- package/dist/contact/records.d.ts.map +1 -0
- package/dist/contact/records.js +218 -0
- package/dist/contact/records.js.map +1 -0
- package/dist/contact/routes.d.ts +17 -0
- package/dist/contact/routes.d.ts.map +1 -0
- package/dist/contact/routes.js +127 -0
- package/dist/contact/routes.js.map +1 -0
- package/dist/contact/submission.d.ts +103 -0
- package/dist/contact/submission.d.ts.map +1 -0
- package/dist/contact/submission.js +166 -0
- package/dist/contact/submission.js.map +1 -0
- package/dist/content/document.d.ts +7 -2
- package/dist/content/document.d.ts.map +1 -1
- package/dist/content/document.js +1 -0
- package/dist/content/document.js.map +1 -1
- package/dist/content/index.d.ts +7 -2
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +4 -1
- package/dist/content/index.js.map +1 -1
- package/dist/content/markdown.d.ts.map +1 -1
- package/dist/content/markdown.js +24 -2
- package/dist/content/markdown.js.map +1 -1
- package/dist/content/parser.d.ts.map +1 -1
- package/dist/content/parser.js +11 -4
- package/dist/content/parser.js.map +1 -1
- package/dist/content/save.d.ts +5 -0
- package/dist/content/save.d.ts.map +1 -1
- package/dist/content/save.js +44 -1
- package/dist/content/save.js.map +1 -1
- package/dist/content/schedule.d.ts +125 -0
- package/dist/content/schedule.d.ts.map +1 -0
- package/dist/content/schedule.js +207 -0
- package/dist/content/schedule.js.map +1 -0
- package/dist/content/search.d.ts +64 -0
- package/dist/content/search.d.ts.map +1 -0
- package/dist/content/search.js +136 -0
- package/dist/content/search.js.map +1 -0
- package/dist/content/store.d.ts +220 -7
- package/dist/content/store.d.ts.map +1 -1
- package/dist/content/store.js +392 -67
- package/dist/content/store.js.map +1 -1
- package/dist/content/sync.d.ts +7 -1
- package/dist/content/sync.d.ts.map +1 -1
- package/dist/content/sync.js +18 -10
- package/dist/content/sync.js.map +1 -1
- package/dist/content/time.d.ts +56 -0
- package/dist/content/time.d.ts.map +1 -0
- package/dist/content/time.js +141 -0
- package/dist/content/time.js.map +1 -0
- package/dist/content/writer.d.ts.map +1 -1
- package/dist/content/writer.js +3 -0
- package/dist/content/writer.js.map +1 -1
- package/dist/env.d.ts +70 -5
- package/dist/env.d.ts.map +1 -1
- package/dist/federation/actor.d.ts +95 -41
- package/dist/federation/actor.d.ts.map +1 -1
- package/dist/federation/actor.js +180 -53
- package/dist/federation/actor.js.map +1 -1
- package/dist/federation/article.d.ts +44 -17
- package/dist/federation/article.d.ts.map +1 -1
- package/dist/federation/article.js +98 -46
- package/dist/federation/article.js.map +1 -1
- package/dist/federation/delivery.d.ts +63 -15
- package/dist/federation/delivery.d.ts.map +1 -1
- package/dist/federation/delivery.js +154 -80
- package/dist/federation/delivery.js.map +1 -1
- package/dist/federation/federation.d.ts +22 -17
- package/dist/federation/federation.d.ts.map +1 -1
- package/dist/federation/federation.js +98 -77
- package/dist/federation/federation.js.map +1 -1
- package/dist/federation/followers.d.ts +3 -2
- package/dist/federation/followers.d.ts.map +1 -1
- package/dist/federation/followers.js +6 -5
- package/dist/federation/followers.js.map +1 -1
- package/dist/federation/import-wordpress.d.ts +128 -0
- package/dist/federation/import-wordpress.d.ts.map +1 -0
- package/dist/federation/import-wordpress.js +426 -0
- package/dist/federation/import-wordpress.js.map +1 -0
- package/dist/federation/inbox.d.ts +36 -13
- package/dist/federation/inbox.d.ts.map +1 -1
- package/dist/federation/inbox.js +120 -49
- package/dist/federation/inbox.js.map +1 -1
- package/dist/federation/index.d.ts +22 -10
- package/dist/federation/index.d.ts.map +1 -1
- package/dist/federation/index.js +13 -8
- package/dist/federation/index.js.map +1 -1
- package/dist/federation/keys.d.ts +98 -20
- package/dist/federation/keys.d.ts.map +1 -1
- package/dist/federation/keys.js +269 -39
- package/dist/federation/keys.js.map +1 -1
- package/dist/federation/mount.d.ts +46 -10
- package/dist/federation/mount.d.ts.map +1 -1
- package/dist/federation/mount.js +300 -28
- package/dist/federation/mount.js.map +1 -1
- package/dist/federation/paths.d.ts +23 -35
- package/dist/federation/paths.d.ts.map +1 -1
- package/dist/federation/paths.js +26 -39
- package/dist/federation/paths.js.map +1 -1
- package/dist/federation/records.d.ts +223 -0
- package/dist/federation/records.d.ts.map +1 -0
- package/dist/federation/records.js +506 -0
- package/dist/federation/records.js.map +1 -0
- package/dist/federation/relays.d.ts +114 -0
- package/dist/federation/relays.d.ts.map +1 -0
- package/dist/federation/relays.js +290 -0
- package/dist/federation/relays.js.map +1 -0
- package/dist/federation/replies.d.ts +80 -0
- package/dist/federation/replies.d.ts.map +1 -0
- package/dist/federation/replies.js +166 -0
- package/dist/federation/replies.js.map +1 -0
- package/dist/federation/wordpress.d.ts +131 -0
- package/dist/federation/wordpress.d.ts.map +1 -0
- package/dist/federation/wordpress.js +341 -0
- package/dist/federation/wordpress.js.map +1 -0
- package/dist/files/atomic.d.ts +103 -0
- package/dist/files/atomic.d.ts.map +1 -0
- package/dist/files/atomic.js +150 -0
- package/dist/files/atomic.js.map +1 -0
- package/dist/files/index.d.ts +3 -0
- package/dist/files/index.d.ts.map +1 -0
- package/dist/files/index.js +2 -0
- package/dist/files/index.js.map +1 -0
- package/dist/forms/protection.d.ts +85 -0
- package/dist/forms/protection.d.ts.map +1 -0
- package/dist/forms/protection.js +116 -0
- package/dist/forms/protection.js.map +1 -0
- package/dist/images/icons.d.ts +59 -0
- package/dist/images/icons.d.ts.map +1 -0
- package/dist/images/icons.js +131 -0
- package/dist/images/icons.js.map +1 -0
- package/dist/images/index.d.ts +7 -0
- package/dist/images/index.d.ts.map +1 -0
- package/dist/images/index.js +4 -0
- package/dist/images/index.js.map +1 -0
- package/dist/images/markup.d.ts +47 -0
- package/dist/images/markup.d.ts.map +1 -0
- package/dist/images/markup.js +175 -0
- package/dist/images/markup.js.map +1 -0
- package/dist/images/paths.d.ts +34 -0
- package/dist/images/paths.d.ts.map +1 -0
- package/dist/images/paths.js +41 -0
- package/dist/images/paths.js.map +1 -0
- package/dist/images/variants.d.ts +104 -0
- package/dist/images/variants.d.ts.map +1 -0
- package/dist/images/variants.js +320 -0
- package/dist/images/variants.js.map +1 -0
- package/dist/index.d.ts +123 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +344 -25
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +18 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +34 -3
- package/dist/init.js.map +1 -1
- package/dist/mail/brevo.d.ts +35 -0
- package/dist/mail/brevo.d.ts.map +1 -0
- package/dist/mail/brevo.js +85 -0
- package/dist/mail/brevo.js.map +1 -0
- package/dist/mail/credentials.d.ts +62 -0
- package/dist/mail/credentials.d.ts.map +1 -0
- package/dist/mail/credentials.js +86 -0
- package/dist/mail/credentials.js.map +1 -0
- package/dist/mail/index.d.ts +15 -0
- package/dist/mail/index.d.ts.map +1 -0
- package/dist/mail/index.js +8 -0
- package/dist/mail/index.js.map +1 -0
- package/dist/mail/memory.d.ts +35 -0
- package/dist/mail/memory.d.ts.map +1 -0
- package/dist/mail/memory.js +29 -0
- package/dist/mail/memory.js.map +1 -0
- package/dist/mail/provider.d.ts +80 -0
- package/dist/mail/provider.d.ts.map +1 -0
- package/dist/mail/provider.js +23 -0
- package/dist/mail/provider.js.map +1 -0
- package/dist/mail/service.d.ts +156 -0
- package/dist/mail/service.d.ts.map +1 -0
- package/dist/mail/service.js +265 -0
- package/dist/mail/service.js.map +1 -0
- package/dist/mail/smtp.d.ts +39 -0
- package/dist/mail/smtp.d.ts.map +1 -0
- package/dist/mail/smtp.js +58 -0
- package/dist/mail/smtp.js.map +1 -0
- package/dist/mail/templates.d.ts +91 -0
- package/dist/mail/templates.d.ts.map +1 -0
- package/dist/mail/templates.js +69 -0
- package/dist/mail/templates.js.map +1 -0
- package/dist/notifications/comments.d.ts +66 -0
- package/dist/notifications/comments.d.ts.map +1 -0
- package/dist/notifications/comments.js +151 -0
- package/dist/notifications/comments.js.map +1 -0
- package/dist/notifications/digest.d.ts +135 -0
- package/dist/notifications/digest.d.ts.map +1 -0
- package/dist/notifications/digest.js +287 -0
- package/dist/notifications/digest.js.map +1 -0
- package/dist/notifications/index.d.ts +13 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +8 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/links.d.ts +60 -0
- package/dist/notifications/links.d.ts.map +1 -0
- package/dist/notifications/links.js +63 -0
- package/dist/notifications/links.js.map +1 -0
- package/dist/notifications/optouts.d.ts +48 -0
- package/dist/notifications/optouts.d.ts.map +1 -0
- package/dist/notifications/optouts.js +93 -0
- package/dist/notifications/optouts.js.map +1 -0
- package/dist/notifications/preferences.d.ts +158 -0
- package/dist/notifications/preferences.d.ts.map +1 -0
- package/dist/notifications/preferences.js +195 -0
- package/dist/notifications/preferences.js.map +1 -0
- package/dist/notifications/routes.d.ts +28 -0
- package/dist/notifications/routes.d.ts.map +1 -0
- package/dist/notifications/routes.js +184 -0
- package/dist/notifications/routes.js.map +1 -0
- package/dist/notifications/tokens.d.ts +60 -0
- package/dist/notifications/tokens.d.ts.map +1 -0
- package/dist/notifications/tokens.js +125 -0
- package/dist/notifications/tokens.js.map +1 -0
- package/dist/notify.d.ts +84 -0
- package/dist/notify.d.ts.map +1 -0
- package/dist/notify.js +149 -0
- package/dist/notify.js.map +1 -0
- package/dist/web/archive.d.ts +49 -0
- package/dist/web/archive.d.ts.map +1 -0
- package/dist/web/archive.js +59 -0
- package/dist/web/archive.js.map +1 -0
- package/dist/web/assets.d.ts +6 -5
- package/dist/web/assets.d.ts.map +1 -1
- package/dist/web/assets.js +5 -7
- package/dist/web/assets.js.map +1 -1
- package/dist/web/authors.d.ts +143 -0
- package/dist/web/authors.d.ts.map +1 -0
- package/dist/web/authors.js +178 -0
- package/dist/web/authors.js.map +1 -0
- package/dist/web/comments.d.ts +60 -0
- package/dist/web/comments.d.ts.map +1 -0
- package/dist/web/comments.js +207 -0
- package/dist/web/comments.js.map +1 -0
- package/dist/web/context.d.ts +162 -28
- package/dist/web/context.d.ts.map +1 -1
- package/dist/web/context.js +123 -26
- package/dist/web/context.js.map +1 -1
- package/dist/web/conversation.d.ts +209 -0
- package/dist/web/conversation.d.ts.map +1 -0
- package/dist/web/conversation.js +557 -0
- package/dist/web/conversation.js.map +1 -0
- package/dist/web/documents.d.ts +36 -6
- package/dist/web/documents.d.ts.map +1 -1
- package/dist/web/documents.js +52 -10
- package/dist/web/documents.js.map +1 -1
- package/dist/web/feed-atom.d.ts +22 -0
- package/dist/web/feed-atom.d.ts.map +1 -0
- package/dist/web/feed-atom.js +83 -0
- package/dist/web/feed-atom.js.map +1 -0
- package/dist/web/feed-item.d.ts +145 -0
- package/dist/web/feed-item.d.ts.map +1 -0
- package/dist/web/feed-item.js +120 -0
- package/dist/web/feed-item.js.map +1 -0
- package/dist/web/feed-json.d.ts +79 -0
- package/dist/web/feed-json.d.ts.map +1 -0
- package/dist/web/feed-json.js +53 -0
- package/dist/web/feed-json.js.map +1 -0
- package/dist/web/feed-rss.d.ts +26 -0
- package/dist/web/feed-rss.d.ts.map +1 -0
- package/dist/web/feed-rss.js +203 -0
- package/dist/web/feed-rss.js.map +1 -0
- package/dist/web/feed-source.d.ts +244 -0
- package/dist/web/feed-source.d.ts.map +1 -0
- package/dist/web/feed-source.js +201 -0
- package/dist/web/feed-source.js.map +1 -0
- package/dist/web/feed-xml.d.ts +63 -0
- package/dist/web/feed-xml.d.ts.map +1 -0
- package/dist/web/feed-xml.js +116 -0
- package/dist/web/feed-xml.js.map +1 -0
- package/dist/web/feeds.d.ts +31 -96
- package/dist/web/feeds.d.ts.map +1 -1
- package/dist/web/feeds.js +94 -198
- package/dist/web/feeds.js.map +1 -1
- package/dist/web/health.d.ts +31 -0
- package/dist/web/health.d.ts.map +1 -0
- package/dist/web/health.js +44 -0
- package/dist/web/health.js.map +1 -0
- package/dist/web/index.d.ts +30 -10
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +18 -7
- package/dist/web/index.js.map +1 -1
- package/dist/web/navigation.d.ts +195 -0
- package/dist/web/navigation.d.ts.map +1 -0
- package/dist/web/navigation.js +300 -0
- package/dist/web/navigation.js.map +1 -0
- package/dist/web/negotiate.d.ts +31 -0
- package/dist/web/negotiate.d.ts.map +1 -1
- package/dist/web/negotiate.js +31 -11
- package/dist/web/negotiate.js.map +1 -1
- package/dist/web/recent.d.ts +43 -0
- package/dist/web/recent.d.ts.map +1 -0
- package/dist/web/recent.js +37 -0
- package/dist/web/recent.js.map +1 -0
- package/dist/web/render.d.ts +203 -9
- package/dist/web/render.d.ts.map +1 -1
- package/dist/web/render.js +341 -17
- package/dist/web/render.js.map +1 -1
- package/dist/web/routes.d.ts +25 -8
- package/dist/web/routes.d.ts.map +1 -1
- package/dist/web/routes.js +854 -93
- package/dist/web/routes.js.map +1 -1
- package/dist/web/sanitize.d.ts +19 -0
- package/dist/web/sanitize.d.ts.map +1 -0
- package/dist/web/sanitize.js +272 -0
- package/dist/web/sanitize.js.map +1 -0
- package/dist/web/search.d.ts +79 -0
- package/dist/web/search.d.ts.map +1 -0
- package/dist/web/search.js +94 -0
- package/dist/web/search.js.map +1 -0
- package/dist/web/sitemap.d.ts +120 -0
- package/dist/web/sitemap.d.ts.map +1 -0
- package/dist/web/sitemap.js +199 -0
- package/dist/web/sitemap.js.map +1 -0
- package/dist/web/taxonomy.d.ts +152 -0
- package/dist/web/taxonomy.d.ts.map +1 -0
- package/dist/web/taxonomy.js +237 -0
- package/dist/web/taxonomy.js.map +1 -0
- package/dist/web/templates.d.ts +54 -16
- package/dist/web/templates.d.ts.map +1 -1
- package/dist/web/templates.js +109 -28
- package/dist/web/templates.js.map +1 -1
- package/dist/web/themes.d.ts +226 -0
- package/dist/web/themes.d.ts.map +1 -0
- package/dist/web/themes.js +314 -0
- package/dist/web/themes.js.map +1 -0
- package/dist/webmention/discovery.d.ts +51 -0
- package/dist/webmention/discovery.d.ts.map +1 -0
- package/dist/webmention/discovery.js +176 -0
- package/dist/webmention/discovery.js.map +1 -0
- package/dist/webmention/html.d.ts +71 -0
- package/dist/webmention/html.d.ts.map +1 -0
- package/dist/webmention/html.js +285 -0
- package/dist/webmention/html.js.map +1 -0
- package/dist/webmention/index.d.ts +12 -0
- package/dist/webmention/index.d.ts.map +1 -0
- package/dist/webmention/index.js +8 -0
- package/dist/webmention/index.js.map +1 -0
- package/dist/webmention/links.d.ts +18 -0
- package/dist/webmention/links.d.ts.map +1 -0
- package/dist/webmention/links.js +64 -0
- package/dist/webmention/links.js.map +1 -0
- package/dist/webmention/microformats.d.ts +93 -0
- package/dist/webmention/microformats.d.ts.map +1 -0
- package/dist/webmention/microformats.js +376 -0
- package/dist/webmention/microformats.js.map +1 -0
- package/dist/webmention/receive.d.ts +141 -0
- package/dist/webmention/receive.d.ts.map +1 -0
- package/dist/webmention/receive.js +264 -0
- package/dist/webmention/receive.js.map +1 -0
- package/dist/webmention/routes.d.ts +37 -0
- package/dist/webmention/routes.d.ts.map +1 -0
- package/dist/webmention/routes.js +75 -0
- package/dist/webmention/routes.js.map +1 -0
- package/dist/webmention/service.d.ts +94 -0
- package/dist/webmention/service.d.ts.map +1 -0
- package/dist/webmention/service.js +207 -0
- package/dist/webmention/service.js.map +1 -0
- package/package.json +11 -6
- package/templates/site/content/_data/site.json +8 -0
- package/templates/site/content/pages/about.md +7 -0
- package/templates/site/content/posts/2026-01-01-hello-world.md +5 -3
- package/templates/site/geekity.config.ts +11 -1
- package/templates/site/tsconfig.json +1 -1
- package/themes/default/README.md +1216 -50
- package/themes/default/layouts/404.njk +2 -3
- package/themes/default/layouts/author.njk +36 -0
- package/themes/default/layouts/base.njk +161 -31
- package/themes/default/layouts/category.njk +27 -0
- package/themes/default/layouts/front-page.njk +56 -0
- package/themes/default/layouts/home.njk +17 -1
- package/themes/default/layouts/page.njk +57 -5
- package/themes/default/layouts/post.njk +78 -19
- package/themes/default/layouts/search.njk +57 -0
- package/themes/default/layouts/tag.njk +3 -6
- package/themes/default/mail/comment-digest.html.njk +37 -0
- package/themes/default/mail/comment-digest.subject.njk +3 -0
- package/themes/default/mail/comment-digest.txt.njk +40 -0
- package/themes/default/mail/comment-pending.html.njk +27 -0
- package/themes/default/mail/comment-pending.subject.njk +2 -0
- package/themes/default/mail/comment-pending.txt.njk +24 -0
- package/themes/default/mail/comment-reply.html.njk +21 -0
- package/themes/default/mail/comment-reply.subject.njk +2 -0
- package/themes/default/mail/comment-reply.txt.njk +22 -0
- package/themes/default/mail/contact-message.html.njk +24 -0
- package/themes/default/mail/contact-message.subject.njk +5 -0
- package/themes/default/mail/contact-message.txt.njk +20 -0
- package/themes/default/mail/password-changed.html.njk +18 -0
- package/themes/default/mail/password-changed.subject.njk +2 -0
- package/themes/default/mail/password-changed.txt.njk +17 -0
- package/themes/default/mail/password-reset.html.njk +22 -0
- package/themes/default/mail/password-reset.subject.njk +2 -0
- package/themes/default/mail/password-reset.txt.njk +18 -0
- package/themes/default/mail/test.html.njk +14 -0
- package/themes/default/mail/test.subject.njk +2 -0
- package/themes/default/mail/test.txt.njk +12 -0
- package/themes/default/partials/archive.njk +27 -0
- package/themes/default/partials/bio.njk +71 -0
- package/themes/default/partials/comment-form.njk +137 -0
- package/themes/default/partials/contact-form.njk +88 -0
- package/themes/default/partials/conversation.njk +139 -0
- package/themes/default/partials/feeds.njk +26 -0
- package/themes/default/partials/jsonld.njk +120 -0
- package/themes/default/partials/menu.njk +32 -0
- package/themes/default/partials/pagination.njk +12 -6
- package/themes/default/partials/post-list.njk +51 -18
- package/themes/default/partials/search-form.njk +22 -0
- package/themes/default/partials/tags.njk +26 -5
- package/themes/default/static/highlight.js +4 -0
- package/themes/default/static/style.css +1142 -194
- package/themes/default/theme.json +9 -0
- package/admin/layouts/federation.njk +0 -145
- package/admin/layouts/login.njk +0 -23
- package/admin/layouts/settings.njk +0 -116
- package/admin/layouts/setup.njk +0 -27
- package/admin/layouts/users.njk +0 -91
- /package/admin/{layouts/_flash.njk → components/flash.njk} +0 -0
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
import { statSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { mkdir, rm } from 'node:fs/promises';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import sharp from 'sharp';
|
|
5
|
+
import { writeFileAtomically } from '../files/atomic.js';
|
|
6
|
+
import { findAsset } from '../web/assets.js';
|
|
7
|
+
import { deriveSiteIcon, iconSize } from './icons.js';
|
|
8
|
+
import { derivedDir, sourceFile, IMAGE_DIRECTORY, VARIANT_ASSET_PREFIX } from './paths.js';
|
|
9
|
+
/**
|
|
10
|
+
* Image variants: the derived copies of an upload, and the record of them.
|
|
11
|
+
*
|
|
12
|
+
* The original under `content/uploads/` is the only source of truth
|
|
13
|
+
* (decision-10). Everything this module writes lives under
|
|
14
|
+
* `<dataDir>/images/<the upload's path>/`, is rebuildable from that original,
|
|
15
|
+
* and may be deleted at any moment — which is also decision-9's rule for
|
|
16
|
+
* `data/`. Nothing here is ever read by the feeds or by a remote instance;
|
|
17
|
+
* only the site's own HTML knows these files exist.
|
|
18
|
+
*
|
|
19
|
+
* Where the files live is `paths.ts`, and the site's icons are `icons.ts`:
|
|
20
|
+
* both kinds of derived file share the directory and the URL prefix.
|
|
21
|
+
*/
|
|
22
|
+
export { IMAGE_DIRECTORY, VARIANT_ASSET_PREFIX } from './paths.js';
|
|
23
|
+
/** The sidecar that records what was derived, beside the files it describes. */
|
|
24
|
+
export const IMAGE_RECORD_NAME = 'image.json';
|
|
25
|
+
/** The extension each format is written with. */
|
|
26
|
+
const FORMAT_EXTENSIONS = new Map([
|
|
27
|
+
['avif', '.avif'],
|
|
28
|
+
['jpeg', '.jpg'],
|
|
29
|
+
['png', '.png'],
|
|
30
|
+
['webp', '.webp'],
|
|
31
|
+
]);
|
|
32
|
+
/** The media type each format is announced as, for a `<source type>`. */
|
|
33
|
+
const FORMAT_MEDIA_TYPES = new Map([
|
|
34
|
+
['avif', 'image/avif'],
|
|
35
|
+
['jpeg', 'image/jpeg'],
|
|
36
|
+
['png', 'image/png'],
|
|
37
|
+
['webp', 'image/webp'],
|
|
38
|
+
]);
|
|
39
|
+
/**
|
|
40
|
+
* The formats an upload's own extension means, and so the ones a source may
|
|
41
|
+
* be. GIF is deliberately absent: an animated one cannot survive being resized
|
|
42
|
+
* into a still, and a still one gains nothing that WebP would not lose in
|
|
43
|
+
* translation, so a GIF is stored and served exactly as it arrived.
|
|
44
|
+
*/
|
|
45
|
+
const SOURCE_FORMATS = new Map([
|
|
46
|
+
['.avif', 'avif'],
|
|
47
|
+
['.jpeg', 'jpeg'],
|
|
48
|
+
['.jpg', 'jpeg'],
|
|
49
|
+
['.png', 'png'],
|
|
50
|
+
['.webp', 'webp'],
|
|
51
|
+
]);
|
|
52
|
+
/** The media type a `<source>` for this format announces, or `undefined`. */
|
|
53
|
+
export function imageMediaType(format) {
|
|
54
|
+
return FORMAT_MEDIA_TYPES.get(format);
|
|
55
|
+
}
|
|
56
|
+
/** The public URL of one derived file. */
|
|
57
|
+
export function variantUrl(source, variant) {
|
|
58
|
+
return `${VARIANT_ASSET_PREFIX}${source}/${variant.file}`;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Records already read, by the derived directory they were read from.
|
|
62
|
+
*
|
|
63
|
+
* A page render asks for one of these per image, so the sidecar is parsed once
|
|
64
|
+
* per process rather than once per request. The entry survives the sidecar
|
|
65
|
+
* being deleted on purpose: the derived directory is disposable and a request
|
|
66
|
+
* for a missing variant rebuilds it, so a page whose images have been swept
|
|
67
|
+
* away still renders the markup that asks for them back.
|
|
68
|
+
*/
|
|
69
|
+
const records = new Map();
|
|
70
|
+
/** Generations already running, so two requests for one image encode it once. */
|
|
71
|
+
const generating = new Map();
|
|
72
|
+
/**
|
|
73
|
+
* Derive every variant of one upload and record what was derived.
|
|
74
|
+
*
|
|
75
|
+
* Returns `undefined` — having written nothing — when optimization is off,
|
|
76
|
+
* when the file is not a raster image the CMS varianties (a GIF, a PDF, a
|
|
77
|
+
* text file), when it is animated, or when it is not there at all. None of
|
|
78
|
+
* those is an error: an upload that has no variants is the ordinary case for
|
|
79
|
+
* most of what a site holds, and the caller's job is to fall back to the
|
|
80
|
+
* original, which is exactly what it would have served anyway.
|
|
81
|
+
*
|
|
82
|
+
* Two callers asking for the same image at once share one encode.
|
|
83
|
+
*/
|
|
84
|
+
export function generateImageVariants(config, source) {
|
|
85
|
+
const directory = derivedDir(config, source);
|
|
86
|
+
const running = generating.get(directory);
|
|
87
|
+
if (running !== undefined)
|
|
88
|
+
return running;
|
|
89
|
+
const started = derive(config, source, directory).finally(() => generating.delete(directory));
|
|
90
|
+
generating.set(directory, started);
|
|
91
|
+
return started;
|
|
92
|
+
}
|
|
93
|
+
async function derive(config, source, directory) {
|
|
94
|
+
if (!config.imageOptimization)
|
|
95
|
+
return undefined;
|
|
96
|
+
const sourceFormat = SOURCE_FORMATS.get(path.extname(source).toLowerCase());
|
|
97
|
+
if (sourceFormat === undefined)
|
|
98
|
+
return undefined;
|
|
99
|
+
const file = sourceFile(config, source);
|
|
100
|
+
if (file === undefined)
|
|
101
|
+
return undefined;
|
|
102
|
+
let modified;
|
|
103
|
+
try {
|
|
104
|
+
modified = Math.trunc(statSync(file).mtimeMs);
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
const metadata = await sharp(file).metadata();
|
|
110
|
+
const stored = { width: metadata.width, height: metadata.height };
|
|
111
|
+
if (stored.width === undefined || stored.height === undefined)
|
|
112
|
+
return undefined;
|
|
113
|
+
// An animated WebP or AVIF is the GIF case wearing another extension: sharp
|
|
114
|
+
// would flatten it to its first frame, which is not what anybody uploaded.
|
|
115
|
+
if ((metadata.pages ?? 1) > 1)
|
|
116
|
+
return undefined;
|
|
117
|
+
// `metadata()` reports the pixels as stored; orientations 5 to 8 turn the
|
|
118
|
+
// picture on its side, so the size a reader sees is the transposed one. It
|
|
119
|
+
// is that size the widths are chosen against and that size the `<img>`
|
|
120
|
+
// advertises, because it is the one the browser will lay out.
|
|
121
|
+
const upright = (metadata.orientation ?? 1) >= 5;
|
|
122
|
+
const width = upright ? stored.height : stored.width;
|
|
123
|
+
const height = upright ? stored.width : stored.height;
|
|
124
|
+
const variants = [];
|
|
125
|
+
await mkdir(directory, { recursive: true });
|
|
126
|
+
for (const format of outputFormats(config, sourceFormat)) {
|
|
127
|
+
for (const target of outputWidths(config, width)) {
|
|
128
|
+
variants.push(await encode({ file, directory, format, width: target }));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const record = {
|
|
132
|
+
source,
|
|
133
|
+
width,
|
|
134
|
+
height,
|
|
135
|
+
format: sourceFormat,
|
|
136
|
+
sourceModified: modified,
|
|
137
|
+
variants,
|
|
138
|
+
};
|
|
139
|
+
await writeFileAtomically(path.join(directory, IMAGE_RECORD_NAME), `${JSON.stringify(record)}\n`);
|
|
140
|
+
records.set(directory, record);
|
|
141
|
+
return record;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* The formats to write: the site's, then the original's own.
|
|
145
|
+
*
|
|
146
|
+
* The original's is last and never optional, because it is the `<img>` inside
|
|
147
|
+
* the `<picture>` — the thing a browser that understood none of the `<source>`
|
|
148
|
+
* elements falls back to.
|
|
149
|
+
*/
|
|
150
|
+
function outputFormats(config, sourceFormat) {
|
|
151
|
+
const formats = config.imageFormats.filter((format) => format !== sourceFormat);
|
|
152
|
+
return [...formats, sourceFormat];
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The widths to write: the configured ones narrower than the original, and the
|
|
156
|
+
* original's own width.
|
|
157
|
+
*
|
|
158
|
+
* Nothing is ever upscaled — a browser given a blown-up copy pays for pixels
|
|
159
|
+
* that carry no detail — and the full size is always there, so a wide display
|
|
160
|
+
* has something to pick that is not the unoptimised original.
|
|
161
|
+
*/
|
|
162
|
+
function outputWidths(config, width) {
|
|
163
|
+
const widths = new Set(config.imageWidths.filter((candidate) => candidate < width));
|
|
164
|
+
widths.add(width);
|
|
165
|
+
return [...widths].sort((a, b) => a - b);
|
|
166
|
+
}
|
|
167
|
+
/** Write one variant and answer what it turned out to be. */
|
|
168
|
+
async function encode(input) {
|
|
169
|
+
const extension = FORMAT_EXTENSIONS.get(input.format) ?? '.bin';
|
|
170
|
+
const name = `${String(input.width)}${extension}`;
|
|
171
|
+
// `autoOrient` applies the EXIF rotation, and sharp drops metadata unless
|
|
172
|
+
// asked to keep it, so the variant comes out the right way up and carrying
|
|
173
|
+
// no camera, no timestamp and no location.
|
|
174
|
+
const pipeline = sharp(input.file, { autoOrient: true }).resize({
|
|
175
|
+
width: input.width,
|
|
176
|
+
withoutEnlargement: true,
|
|
177
|
+
});
|
|
178
|
+
const encoded = await formatted(pipeline, input.format).toBuffer({ resolveWithObject: true });
|
|
179
|
+
await writeFileAtomically(path.join(input.directory, name), encoded.data);
|
|
180
|
+
return {
|
|
181
|
+
width: encoded.info.width,
|
|
182
|
+
height: encoded.info.height,
|
|
183
|
+
format: input.format,
|
|
184
|
+
file: name,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/** The encoder for one format, at settings that trade a little fidelity for a lot of bytes. */
|
|
188
|
+
function formatted(pipeline, format) {
|
|
189
|
+
switch (format) {
|
|
190
|
+
case 'avif':
|
|
191
|
+
return pipeline.avif({ quality: 55 });
|
|
192
|
+
case 'jpeg':
|
|
193
|
+
return pipeline.jpeg({ quality: 80, mozjpeg: true });
|
|
194
|
+
case 'png':
|
|
195
|
+
return pipeline.png({ compressionLevel: 9 });
|
|
196
|
+
default:
|
|
197
|
+
return pipeline.webp({ quality: 80 });
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* What is known about one upload's variants, or `undefined` when nothing is.
|
|
202
|
+
*
|
|
203
|
+
* Synchronous and cached, because it is called once per image while a page
|
|
204
|
+
* renders. `undefined` means the caller should serve the plain original: the
|
|
205
|
+
* upload is not an image, or nothing has been derived from it yet.
|
|
206
|
+
*/
|
|
207
|
+
export function describeImage(config, source) {
|
|
208
|
+
const directory = derivedDir(config, source);
|
|
209
|
+
const remembered = records.get(directory);
|
|
210
|
+
if (remembered !== undefined)
|
|
211
|
+
return current(config, remembered) ? remembered : undefined;
|
|
212
|
+
const record = readRecord(path.join(directory, IMAGE_RECORD_NAME), source);
|
|
213
|
+
if (record === undefined)
|
|
214
|
+
return undefined;
|
|
215
|
+
records.set(directory, record);
|
|
216
|
+
return current(config, record) ? record : undefined;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Whether a record still describes the file it was derived from.
|
|
220
|
+
*
|
|
221
|
+
* The original having gone, or having been replaced under the same name,
|
|
222
|
+
* makes the record rubbish; anything else — including the whole derived
|
|
223
|
+
* directory having been swept away — leaves it true, which is what lets a page
|
|
224
|
+
* keep rendering the markup that asks for the variants back.
|
|
225
|
+
*/
|
|
226
|
+
function current(config, record) {
|
|
227
|
+
const file = sourceFile(config, record.source);
|
|
228
|
+
if (file === undefined)
|
|
229
|
+
return false;
|
|
230
|
+
try {
|
|
231
|
+
return Math.trunc(statSync(file).mtimeMs) === record.sourceModified;
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/** Parse one sidecar, refusing anything that is not the shape it should be. */
|
|
238
|
+
function readRecord(file, source) {
|
|
239
|
+
let parsed;
|
|
240
|
+
try {
|
|
241
|
+
parsed = JSON.parse(readFileSync(file, 'utf8'));
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
return undefined;
|
|
245
|
+
}
|
|
246
|
+
if (typeof parsed !== 'object' || parsed === null)
|
|
247
|
+
return undefined;
|
|
248
|
+
const candidate = parsed;
|
|
249
|
+
if (typeof candidate.width !== 'number' ||
|
|
250
|
+
typeof candidate.height !== 'number' ||
|
|
251
|
+
typeof candidate.format !== 'string' ||
|
|
252
|
+
typeof candidate.sourceModified !== 'number' ||
|
|
253
|
+
!Array.isArray(candidate.variants)) {
|
|
254
|
+
return undefined;
|
|
255
|
+
}
|
|
256
|
+
return {
|
|
257
|
+
source,
|
|
258
|
+
width: candidate.width,
|
|
259
|
+
height: candidate.height,
|
|
260
|
+
format: candidate.format,
|
|
261
|
+
sourceModified: candidate.sourceModified,
|
|
262
|
+
variants: candidate.variants.filter((variant) => typeof variant.width === 'number' &&
|
|
263
|
+
typeof variant.height === 'number' &&
|
|
264
|
+
typeof variant.format === 'string' &&
|
|
265
|
+
typeof variant.file === 'string'),
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Take one upload's derived files away.
|
|
270
|
+
*
|
|
271
|
+
* Forgiving by design: an upload with nothing derived from it is the ordinary
|
|
272
|
+
* case, and this runs after the original has already gone, so refusing to
|
|
273
|
+
* finish would leave the site worse than it found it.
|
|
274
|
+
*/
|
|
275
|
+
export async function removeImageVariants(config, source) {
|
|
276
|
+
if (sourceFile(config, source) === undefined)
|
|
277
|
+
return;
|
|
278
|
+
const directory = derivedDir(config, source);
|
|
279
|
+
records.delete(directory);
|
|
280
|
+
await rm(directory, { recursive: true, force: true });
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Find one derived file by its request path, generating it if it is not there.
|
|
284
|
+
*
|
|
285
|
+
* `relative` is what follows {@link VARIANT_ASSET_PREFIX}, so
|
|
286
|
+
* `2026/09/photo.jpg/640.webp`. A request for a file that was swept away
|
|
287
|
+
* rebuilds the whole set for that source and then serves it, which is what
|
|
288
|
+
* makes the derived directory disposable in the way decision-9 requires. A
|
|
289
|
+
* request for a width or a format the site does not offer is a 404 and encodes
|
|
290
|
+
* nothing, so nobody can make the server work by asking for sizes.
|
|
291
|
+
*/
|
|
292
|
+
export async function findImageVariant(config, relative) {
|
|
293
|
+
const root = path.join(config.dataDir, IMAGE_DIRECTORY);
|
|
294
|
+
const found = findAsset(relative, [root]);
|
|
295
|
+
if (found !== undefined)
|
|
296
|
+
return found;
|
|
297
|
+
if (!config.imageOptimization)
|
|
298
|
+
return undefined;
|
|
299
|
+
const cut = relative.lastIndexOf('/');
|
|
300
|
+
if (cut <= 0)
|
|
301
|
+
return undefined;
|
|
302
|
+
const source = relative.slice(0, cut);
|
|
303
|
+
const name = relative.slice(cut + 1);
|
|
304
|
+
// The site's icons live beside the widths and are derived one at a time,
|
|
305
|
+
// because they are asked for one at a time and belong in no `srcset`.
|
|
306
|
+
const icon = iconSize(name);
|
|
307
|
+
if (icon !== undefined) {
|
|
308
|
+
return (await deriveSiteIcon(config, source, icon)) ? findAsset(relative, [root]) : undefined;
|
|
309
|
+
}
|
|
310
|
+
const known = describeImage(config, source);
|
|
311
|
+
if (known !== undefined && !known.variants.some((variant) => variant.file === name)) {
|
|
312
|
+
return undefined;
|
|
313
|
+
}
|
|
314
|
+
const record = await generateImageVariants(config, source);
|
|
315
|
+
if (record === undefined || !record.variants.some((variant) => variant.file === name)) {
|
|
316
|
+
return undefined;
|
|
317
|
+
}
|
|
318
|
+
return findAsset(relative, [root]);
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variants.js","sourceRoot":"","sources":["../../src/images/variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAG3F;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGnE,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AA4C9C,iDAAiD;AACjD,MAAM,iBAAiB,GAAgC,IAAI,GAAG,CAAC;IAC7D,CAAC,MAAM,EAAE,OAAO,CAAC;IACjB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,KAAK,EAAE,MAAM,CAAC;IACf,CAAC,MAAM,EAAE,OAAO,CAAC;CAClB,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,kBAAkB,GAAgC,IAAI,GAAG,CAAC;IAC9D,CAAC,MAAM,EAAE,YAAY,CAAC;IACtB,CAAC,MAAM,EAAE,YAAY,CAAC;IACtB,CAAC,KAAK,EAAE,WAAW,CAAC;IACpB,CAAC,MAAM,EAAE,YAAY,CAAC;CACvB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,cAAc,GAAgC,IAAI,GAAG,CAAC;IAC1D,CAAC,OAAO,EAAE,MAAM,CAAC;IACjB,CAAC,OAAO,EAAE,MAAM,CAAC;IACjB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,MAAM,EAAE,KAAK,CAAC;IACf,CAAC,OAAO,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,OAAqB;IAC9D,OAAO,GAAG,oBAAoB,GAAG,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE/C,iFAAiF;AACjF,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4C,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAmB,EACnB,MAAc;IAEd,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAE1C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9F,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,MAAM,CACnB,MAAmB,EACnB,MAAc,EACd,SAAiB;IAEjB,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAEhD,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEzC,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChF,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAEhD,0EAA0E;IAC1E,2EAA2E;IAC3E,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAEtD,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAgB;QAC1B,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM,EAAE,YAAY;QACpB,cAAc,EAAE,QAAQ;QACxB,QAAQ;KACT,CAAC;IACF,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,MAAmB,EAAE,YAAoB;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,OAAO,EAAE,YAAY,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,MAAmB,EAAE,KAAa;IACtD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,6DAA6D;AAC7D,KAAK,UAAU,MAAM,CAAC,KAKrB;IACC,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;IAChE,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,EAAE,CAAC;IAElD,0EAA0E;IAC1E,2EAA2E;IAC3E,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC9D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACzB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAS,SAAS,CAAC,QAAe,EAAE,MAAc;IAChD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACxC,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C;YACE,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmB,EAAE,MAAc;IAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1F,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,OAAO,CAAC,MAAmB,EAAE,MAAmB;IACvD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,cAAc,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CAAC,IAAY,EAAE,MAAc;IAC9C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,SAAS,GAAG,MAA8B,CAAC;IACjD,IACE,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ;QACnC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;QACpC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;QACpC,OAAO,SAAS,CAAC,cAAc,KAAK,QAAQ;QAC5C,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,MAAM;QACN,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CACjC,CAAC,OAAO,EAA2B,EAAE,CACnC,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YACjC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;YAClC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;YAClC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CACnC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAmB,EAAE,MAAc;IAC3E,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,SAAS;QAAE,OAAO;IAErD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1B,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAmB,EACnB,QAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAExD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEtC,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAEhD,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAErC,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACtF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,22 +1,50 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
2
|
import type { AdminStore } from './admin/index.ts';
|
|
3
3
|
import type { DocumentChangeHook, GeekityConfig, ResolvedConfig } from './config.ts';
|
|
4
|
-
import type { ContentEvents, ContentStore, SyncResult } from './content/index.ts';
|
|
4
|
+
import type { ContentEvents, ContentStore, Scheduler, SyncResult } from './content/index.ts';
|
|
5
5
|
import type { GeekityEnv } from './env.ts';
|
|
6
|
-
import type {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
import type { MailService } from './mail/index.ts';
|
|
7
|
+
import type { CommentDigest, CommentNotifier } from './notifications/index.ts';
|
|
8
|
+
import type { DeliveryService, RelayService, SiteFederation } from './federation/index.ts';
|
|
9
|
+
import type { FeedNotifier, NotifyReport } from './notify.ts';
|
|
10
|
+
import type { WebmentionService } from './webmention/index.ts';
|
|
11
|
+
export { createFeedNotifier, NOTIFY_TIMEOUT_MS } from './notify.ts';
|
|
12
|
+
export type { CreateFeedNotifierOptions, FeedNotifier, NotifyLogger, NotifyPing, NotifyReport, } from './notify.ts';
|
|
13
|
+
export { LANGUAGE_TAG_PATTERN, COMMENT_ACTIONS, COMMENT_ADMIN_FIELDS, COMMENT_KINDS, COMMENT_SOURCES, COMMENT_STATUSES, COMMENT_TABS, COMMENTS_MODERATE_PATH, COMMENTS_PATH, COMMENTS_PER_PAGE, COMMENTS_REPLY_PATH, COMMENTS_SECTION, commentListUrl, mountCommentsScreen, pendingComments, MESSAGE_FIELDS, MESSAGE_TABS, MESSAGES_DELETE_PATH, MESSAGES_PATH, MESSAGES_PER_PAGE, MESSAGES_READ_PATH, MESSAGES_SECTION, messageListUrl, mountMessagesScreen, unreadMessages, DELIVERY_STATUSES, RELAY_STATES, ADMIN_ASSET_MAX_AGE, ADMIN_ASSET_PREFIX, ADMIN_PREFIX, ADMIN_SECTIONS, ADMIN_STATIC_DIR, ADMIN_TEMPLATES, actorSummary, addUserProblems, adminAssetResponse, adminContentSecurityPolicy, adminSecurityHeaders, akismetPanel, AKISMET_FIELDS, AKISMET_PATH, AKISMET_REMOVE, EMAIL_PATTERN, MAIL_FIELDS, MAIL_PATH, MAIL_REMOVE, MAIL_TEST_FIELDS, MAIL_TEST_PATH, MAIL_TEST_TEMPLATE, mailPanel, ARGON2_PARAMETERS, baselineSecurityHeaders, blankForm, CHANGE_PASSWORD_PATH, changePasswordProblems, clearSessionCookie, createAdminTemplateEnvironment, createLoginThrottle, createNonce, credentialProblem, clientAddress, countUsers, createUser, CSRF_FIELD, csrfTokenMatches, DASHBOARD_RECENT_POSTS, describeWait, DEFAULT_SITE_SETTINGS, DELETE_USER_PATH, deleteUser, deleteUserRefusal, deliveryRows, DOCUMENT_FILTERS, documentFilter, DOCUMENTS_PER_PAGE, editorPath, effectiveBaseUrl, EXCLUDE_KEY, DuplicateUsernameError, emailProblem, FEDERATION_FIELDS, FEDERATION_PATH, FEDERATION_RECENT, FEDERATION_SETTINGS_PATH, findAdminAsset, findBySlug, findUser, findUserById, findUserByIdentifier, followerRow, FORGOT_PATH, formatInTimezone, formFor, applyTermChange, CATEGORY_KIND, deletePath, formFromSettings, flash, GENERATED_PASSWORD_ALPHABET, GENERATED_PASSWORD_LENGTH, generatePassword, guard, hashPassword, HSTS_MAX_AGE, HSTS_VALUE, INBOX_INTERACTIONS, inboxRows, LOCKOUT_GROWTH_LIMIT, LOGIN_PATH, LOGOUT_PATH, listingUrl, listOptionsFor, listUsers, localPosts, loginKeys, MAXIMUM_USERNAME_LENGTH, migrateSettingsToFile, migrateUsersToFile, MINIMUM_PASSWORD_LENGTH, mountAdmin, mountDocumentScreens, mountFederationScreen, mountPreview, mountRecovery, mountSettings, mountTaxonomyScreens, mountUploads, mountUsers, newEditorPath, newPasswordProblem, NONCE_BYTES, openAdminStore, PAGE_KIND, PACKAGED_ADMIN_DIR, PASSWORD_CHANGED_TEMPLATE, passwordProblem, postEditorPath, POST_KIND, primaryUser, PREVIEW_PATH, readSiteSettings, RECOVERY_ANSWER, RECOVERY_FIELDS, RELAY_RETRY_PATH, RELAY_STATE_LABELS, relayList, relayRow, renamePath, renameProblem, RESEND_PATH, resendMessage, RESET_PATH, RESET_TEMPLATE, RESET_TOKEN_LIFETIME_SECONDS, resetLink, rewriteTerm, MEDIA_DELETE_PATH, MEDIA_FIELDS, MEDIA_PATH, MEDIA_PER_PAGE, MEDIA_SECTION, MEDIA_UPLOAD_PATH, mediaPageUrl, mentionsUpload, mountMediaScreen, deleteUpload, describeUpload, listUploads, referencesTo, resolveUpload, uploadMarkdown, normalizeRelayInbox, refusedUpload, refuseOversizedUpload, returnPath, SESSION_COOKIE, SESSION_ID_BYTES, sessionIdFrom, setSessionCookie, SETTINGS_FIELDS, SETTINGS_PATH, settingsFromForm, settingsFromSiteJson, settingsProblems, SETUP_PATH, siteDataPath, siteJsonFor, splitTags, storeUpload, TAG_KIND, takeFlash, TAXONOMY_FIELDS, TAXONOMY_KINDS, tooLargeMessage, updateSiteSettings, UPLOAD_ENVELOPE_BYTES, UPLOAD_FIELD, UPLOADS_PATH, setUserEmail, setUserPassword, setUserProfile, setUserWordPressActor, ConflictingActorIdError, UnknownUserError, USER_EMAIL_PATH, USER_FIELDS, USERNAME_PATTERN, usernameProblem, USERS_FILE, USERS_FILE_MODE, usersFile, USERS_PATH, usesSecureCookies, verifyPasswordHash, verifyUserPassword, writeSiteJson, } from './admin/index.ts';
|
|
14
|
+
export type { ActorSummary, AddUserProblems, AdminRender, AdminSection, CommentAction, CommentAuthor, CommentContent, CommentKind, CommentRecord, CommentRow, CommentSource, CommentStatus, CreatePasswordResetInput, ListCommentsOptions, MountCommentsScreenOptions, MessageRow, MountMessagesScreenOptions, PostComment, ChangePasswordProblems, CreateAdminTemplateEnvironmentOptions, CreateSessionInput, CreateUserInput, Delivery, DeliveryRow, DeliveryRowsContext, DeliveryStatus, DocumentFilter, DocumentKind, DocumentRow, EditorForm, FlashKind, FlashMessage, Follower, FollowerRow, InboxActivity, InboxRow, InboxRowsContext, IssuedPasswordReset, LegacyActorKey, LegacySetting, LegacyUser, ListPageOptions, LocalPost, LoginThrottle, LoginThrottleOptions, MediaFile, MediaReference, DeleteUploadOptions, RemoveDerived, MountDocumentScreensOptions, MountFederationScreenOptions, MountMediaScreenOptions, RelayRow, MountRecoveryOptions, MountSettingsOptions, MountTaxonomyScreensOptions, MountUsersOptions, NewDelivery, NewFollower, NewInboxActivity, NewRelay, OpenAdminStoreOptions, PasswordReset, Relay, RelayState, Session, SettingsField, SettingsForm, SettingsProblems, SiteSettings, ProfileLink, StoredUpload, StoredUser, TaxonomyKind, TermRewriteReport, TermRow, StoreUploadOptions, UploadConfig, UploadMarkdownOptions, UploadRefusal, UploadResult, User, UserProfile, } from './admin/index.ts';
|
|
15
|
+
export { databaseFile, databaseFiles, DATABASE_SUFFIXES, discardDatabase, OutdatedDatabaseError, UnusableDatabaseError, } from './cache.ts';
|
|
16
|
+
export { DEFAULT_IMAGE_FORMATS, DEFAULT_IMAGE_WIDTHS, DEFAULT_UPLOAD_MAX_BYTES, DEFAULT_UPLOAD_TYPES, defineConfig, KNOWN_IMAGE_FORMATS, resolveConfig, } from './config.ts';
|
|
17
|
+
export type { DocumentChangeHook, FederationOverrides, GeekityConfig, MailOverrides, ResolvedConfig, ResolveConfigContext, } from './config.ts';
|
|
18
|
+
export { addComment, AKISMET_ENDPOINT, AKISMET_KEY_FILE, AKISMET_TIMEOUT_MS, AKISMET_USER_AGENT, akismetKeyPath, blankValues, COMMENT_FIELDS, COMMENT_NOTICE_PARAM, COMMENT_NOTICES, COMMENT_POST_PATH, COMMENT_RATE_LIMIT, COMMENT_RATE_WINDOW_SECONDS, COMMENT_REPLY_PARAM, COMMENT_SALT_FILE, COMMENTS_DATA_DIRECTORY, COMMENTS_FRONT_MATTER_KEY, commentForm, commentFormFor, commentKeys, commentNoticeFor, commentPolicyOf, commentProblems, commentsDirectory, commentsFile, commentsOpen, createAkismetChecker, DEFAULT_COMMENTS_CLOSE_AFTER_DAYS, deleteComment, hashClientAddress, heldWebmention, intakeComment, isModerationAction, MAXIMUM_BODY_LENGTH, MAXIMUM_FORM_AGE_SECONDS, MAXIMUM_NAME_LENGTH, MAXIMUM_URL_LENGTH, MINIMUM_SUBMIT_SECONDS, moderateComment, MODERATION_ACTIONS, mountComments, normalizeWebsite, readAkismetKey, readComments, rebuildCommentIndexes, refilledCommentForm, removeAkismetKey, renderCommentMarkdown, signedInCommenter, signedInCommentForm, submitComment, updateComment, valuesOf, verifyAkismetKey, writeAkismetKey, } from './comments/index.ts';
|
|
19
|
+
export type { AkismetCheckerOptions, AkismetKeyRecord, AkismetKeyStatus, CommentChecker, CommentForm, CommentFormContext, CommentIndexReport, CommentIntakeOutcome, CommentNotices, CommentOrigin, CommentOutcome, CommentPolicy, CommentProblems, CommentRecords, CommentRefusal, CommentReport, CommentSubmission, CommentThrottle, CommentVerdict, CommentViewer, IntakeCommentOptions, ModerateCommentOptions, ModerationAction, ModerationOutcome, NewComment, ProposedComment, SignedInAuthor, SubmissionType, SubmitCommentOptions, VerifyAkismetKeyOptions, } from './comments/index.ts';
|
|
20
|
+
export { addContactMessage, blankContactValues, CONTACT_ANCHOR, CONTACT_DATA_DIRECTORY, CONTACT_FIELDS, CONTACT_FRONT_MATTER_KEY, CONTACT_MESSAGE_TEMPLATE, CONTACT_NOTICE_PARAM, CONTACT_NOTICES, CONTACT_POST_PATH, CONTACT_RATE_LIMIT, CONTACT_RATE_WINDOW_SECONDS, contactDirectory, contactForm, contactFormFor, contactKeys, contactMessageFile, contactMessageId, contactNoticeFor, contactOpen, contactProblems, contactRecipient, contactValuesOf, countContactMessagesByStatus, countUnreadContactMessages, deleteContactMessage, listContactMessages, MAXIMUM_CONTACT_EMAIL_LENGTH, MAXIMUM_CONTACT_MESSAGE_LENGTH, MAXIMUM_CONTACT_NAME_LENGTH, MAXIMUM_CONTACT_SUBJECT_LENGTH, mountContact, readContactMessage, refilledContactForm, sendContactMessage, setContactMessageRead, submitContactMessage, } from './contact/index.ts';
|
|
21
|
+
export type { ContactForm, ContactFormContext, ContactMessage, ContactOutcome, ContactProblems, ContactRecipientOptions, ContactRefusal, ContactStatus, ContactThrottle, NewContactMessage, SendContactMessageOptions, SubmitContactMessageOptions, } from './contact/index.ts';
|
|
22
|
+
export { ADDRESS_SALT_FILE, FORM_LOADED_FIELD, FORM_TRAP_FIELD, formAgeSeconds, formTimingRefusal, trapped, } from './forms/protection.ts';
|
|
23
|
+
export type { FormTimingRefusal } from './forms/protection.ts';
|
|
24
|
+
export { readFileIfPresentSync, updateFileAtomically, withFileLock, writeFileAtomically, writeFileAtomicallySync, } from './files/index.ts';
|
|
25
|
+
export type { FileContents, ProduceFileContents, WriteFileAtomicallyOptions, } from './files/index.ts';
|
|
11
26
|
export { DirectoryNotEmptyError, initSite, SITE_TEMPLATE_DIR, siteManifest } from './init.ts';
|
|
12
27
|
export type { InitSiteOptions, InitSiteResult } from './init.ts';
|
|
13
|
-
export {
|
|
14
|
-
export type {
|
|
28
|
+
export { describeImage, findImageVariant, generateImageVariants, imageMediaType, IMAGE_DIRECTORY, IMAGE_RECORD_NAME, IMAGE_SIZES, removeImageVariants, responsiveImages, siteIcons, siteImageMarkup, variantUrl, VARIANT_ASSET_PREFIX, } from './images/index.ts';
|
|
29
|
+
export type { DescribeImage, ImageConfig, ImageRecord, ImageVariant, SiteIcon, } from './images/index.ts';
|
|
30
|
+
export { calendarDayIn, contentFilePath, createContentSync, createScheduler, DATABASE_FILE, dateSortKey, DEFAULT_DEBOUNCE_MS, DEFAULT_TIMEZONE, defaultPermalink, documentContent, documentFrontMatter, freeSlug, DuplicatePermalinkError, hashDocument, htmlToText, isScheduled, isTrashedPath, KNOWN_FRONT_MATTER_KEYS, KNOWN_UPLOAD_TYPES, matchesSignature, MAXIMUM_DELAY_MS, MAXIMUM_QUERY_TERMS, normalizeBody, normalizeUploadType, openContentStore, parseDocument, renderMarkdown, saveDocument, SCHEDULE_ORIGIN, scheduledFor, searchExpression, searchText, serializeDocument, slugify, SNIPPET_CLOSE, SNIPPET_OPEN, systemClock, systemTimers, toUtcInstant, TRASH_DIRECTORY, typeForPath, UPLOAD_MEDIA_TYPES, wallClockIn, zoneLabel, } from './content/index.ts';
|
|
31
|
+
export type { ActivityPubMetadata, CategoryCount, ChangeOrigin, Clock, ContentCounts, ContentFilePathInput, ContentEventListener, ContentEventMap, ContentEvents, ContentStore, ContentSync, CreateContentSyncOptions, CreateSchedulerOptions, DefaultPermalinkInput, Document, DocumentChange, DocumentChangeType, DocumentContent, DocumentType, FreeSlugOptions, ListAllOptions, ListByTagOptions, ListOptions, OpenContentStoreOptions, ParseDocumentOptions, SaveDocumentOptions, ScheduleLogger, Scheduler, ScheduleTimers, ScheduleWatermark, SearchHit, SearchText, SyncLogger, SyncResult, TagCount, UploadMediaType, UploadSignature, } from './content/index.ts';
|
|
15
32
|
export type { GeekityEnv } from './env.ts';
|
|
16
|
-
export {
|
|
17
|
-
export type {
|
|
18
|
-
export {
|
|
19
|
-
export type {
|
|
33
|
+
export { addCommentOptOut, COMMENT_DIGEST_TEMPLATE, COMMENT_OPTOUTS_FILE, COMMENT_PENDING_TEMPLATE, COMMENT_REPLY_TEMPLATE, commentOptOutsFile, COMMENTS_NOTIFICATION, createCommentDigest, createCommentNotifier, DEFAULT_DELIVERY_MODE, DELIVERY_MODE_LABELS, DELIVERY_WINDOW_MS, deliveryMode, DIGEST_MAX_ITEMS, DIGEST_TICK_MS, DIGEST_TIMES_FILE, digestTimesFile, hasOptedOut, isBatchedMode, MODERATE_PATH, MODERATION_TOKEN_LIFETIME_SECONDS, moderationLink, mountNotificationLinks, NOTIFICATION_DELIVERY_MODES, NOTIFICATION_EVENTS, NOTIFICATION_FIELDS, NOTIFICATION_SECRET_FILE, notificationEvent, notificationMode, notificationRecipients, notificationSwitches, notificationTokenExpiry, notificationWanted, readCommentOptOuts, readDigestTimes, readNotificationToken, recordDigestTimes, signNotificationToken, systemNotificationTimers, UNSUBSCRIBE_ACTION, UNSUBSCRIBE_PATH, UNSUBSCRIBE_TOKEN_LIFETIME_SECONDS, unsubscribeLink, withNotification, withNotificationMode, } from './notifications/index.ts';
|
|
34
|
+
export type { CommentDigest, CommentNotifier, CreateCommentDigestOptions, CreateCommentNotifierOptions, DigestLogger, LinkContext, NewNotificationToken, NotificationClaim, NotificationDeliveryMode, NotificationEvent, NotificationSwitch, NotificationTimers, } from './notifications/index.ts';
|
|
35
|
+
export { BREVO_ENDPOINT, BREVO_TIMEOUT_MS, createBrevoProvider, createMailService, createMailTemplates, createMemoryMailProvider, createSmtpProvider, DEFAULT_MAIL_ATTEMPTS, defaultMailBackoffMs, MAIL_CREDENTIALS_FILE, MAIL_PROVIDERS, mailCredentialsPath, mailTemplateFiles, readMailCredentials, removeMailCredentials, SMTP_TIMEOUT_MS, writeMailCredentials, } from './mail/index.ts';
|
|
36
|
+
export type { BrevoCredential, BrevoProviderOptions, CreateMailServiceOptions, CreateMailTemplatesOptions, MailAddress, MailCredentials, MailDelivery, MailLogger, MailProvider, MailProviderName, MailRecipient, MailResult, MailService, MailTemplateFiles, MailTemplates, MemoryMailProvider, OutgoingMail, RawMail, RenderedMail, SmtpCredential, SmtpProviderOptions, TemplateMail, } from './mail/index.ts';
|
|
37
|
+
export { acceptedRelays, acceptRelay, addFollower, appendInboxActivity, ACTOR_KEY_ALGORITHMS, ACTOR_PATH, assertActorKeysUsable, actorKeyFile, actorKeysDir, articleObjectId, actorAliases, actorId, avatarUrl, keyIdFor, mainKeyId, multikeyId, senderKeyPairs, userActor, userByUsername, createActivityId, createDeliveryService, createRelayService, createSiteFederation, deleteActivityId, deliveryTargets, documentAuthor, federatedPost, federatedUsernames, FEDERATION_DATA_DIRECTORY, federationOrigin, acctOf, handleHref, userDirectory, webFingerSubject, WEBFINGER_PATH, followerFrom, followerRecipient, FOLLOWERS_FILE, FOLLOWERS_PAGE_SIZE, FOLLOWERS_PATH, actorHandle, followersFile, followersPage, FOLLOWING_PATH, groupByInbox, handleAccept, handleDelete, handleFollow, handleLoggedActivity, handleReject, handleUndo, INBOX_PATH, isFederatedDocument, lastFollowersCursor, inboxDirectory, inboxFile, inboxMonth, INBOX_DIRECTORY, inboxRowFrom, loadActorKeyPairs, logActivity, migrateActorKeysToFiles, migrateFederationToFiles, mountFederation, NODEINFO_PATH, OUTBOX_PAGE_SIZE, OUTBOX_PATH, postArticle, postCreateActivity, postDeleteActivity, postUpdateActivity, readFollowers, readInboxLog, rebuildFederationIndexes, rejectRelay, relayAnswering, relayRecipient, REPLY_ACTIVITY_TYPE, replyFrom, replyTargetOf, SHARED_INBOX_PATH, SOFTWARE_NAME, SOURCE_MEDIA_TYPE, toInstant, updateActivityId, } from './federation/index.ts';
|
|
38
|
+
export type { ActorKeyAlgorithm, CreateDeliveryServiceOptions, FederationIndexReport, FederationRecords, UserActorOptions, InboxLine, CreateRelayServiceOptions, CreateSiteFederationOptions, DeliveryLogger, DeliveryReport, DeliveryService, DeliveryTarget, FederationContextData, RelayLogger, RelayService, RelaySyncReport, SiteFederation, Reply, SiteInboxContext, } from './federation/index.ts';
|
|
39
|
+
export { absoluteUrl, ACTIVITY_STREAMS_MEDIA_TYPES, activityStreamsId, alternateLinks, archiveMonths, ARCHIVE_FRONT_MATTER_KEY, archiveOpen, assetNotModified, assetResponse, atomEntry, atomFeed, AUTHOR_BASE, authorContext, authorFeedHref, authorHref, authorNames, categoryHref, commentAnchor, commentsFeedHref, commentsFeedPath, commentsFeedResponse, commentsRssFeed, COMMENTS_ROOT, COMMENTS_TITLE_PREFIX, contentEtag, createConversation, createRenderer, createSiteDataSource, createTemplateEnvironment, DEFAULT_FEED_SIZE, DEFAULT_MENU_NAME, DEFAULT_TAXONOMY_BASES, DEFAULT_POSTS_PER_PAGE, DOCUMENT_REPRESENTATIONS, documentContext, cdata, contentTypeOf, DC_NAMESPACE, DEFAULT_FEED_LANGUAGE, DEFAULT_NOTIFY_SERVER, documentJson, escapeXml, excerptFromHtml, EXCERPT_WORDS, FEED_ALIASES, FEED_CONTENT_TYPES, FEED_FORMATS, FEED_GENERATOR, FEED_GENERATOR_URI, FEED_ITEM_REVISION, FEED_SEGMENT, FEED_SEGMENTS, feedComments, feedExcerpt, feedHref, feedItem, feedItems, feedLanguage, feedLinkHeader, feedPathUnder, feedResponse, feedSize, findAsset, findThemeAsset, findThemeFile, findUpload, forgetTerm, formatDate, frontPageSlugs, homeHref, INBOX_BASE, isNotModified, isPublicDocument, JSON_FEED_VERSION, JSON_SCHEMA_VERSION, jsonFeed, jsonFeedItem, lastModifiedOf, latestModified, listingPageHref, LISTING_REPRESENTATIONS, matchesEtag, MAXIMUM_QUERY_LENGTH, MEDIA_TYPES, MENU_ITEM_FLAGS, MENU_NAME_MAX_LENGTH, MENU_NAME_PATTERN, menuItemLineProblem, menuItemOf, menuItemsFromText, menuItemsText, menuNameProblem, menusOf, mountPublicSite, navigationItems, navigationItemsOf, navigationMenu, navigationMenus, notAcceptableResponse, NOTIFY_CLOUD_PORT, NOTIFY_CLOUD_PROTOCOL, NOTIFY_PATHS, notifyEndpoints, notifyServerOf, offsetForPage, PACKAGED_THEME_DIR, PAGE_SEGMENT, paginate, parseAccept, parseAuthorPath, postObjectId, postsPerPage, prefersActivityStreams, profileContext, publicDocumentAt, recentPosts, RECENT_POSTS, recordTermRename, redirectedTerm, REPRESENTATION_EXTENSIONS, representationEtag, representationHref, representationResponse, RESERVED_TOP_LEVEL_PATHS, rfc822, spokenIn, robotsResponse, robotsTxt, ROBOTS_CONTENT_TYPE, ROBOTS_PATH, rssFeed, rssItem, readTheme, sanitizeCommentHtml, searchHref, searchJson, searchPageIndex, searchQuery, SEARCH_PAGE_PARAM, SEARCH_PATH, SEARCH_QUERY_PARAM, selectRepresentation, SITE_DATA_FILE, SITE_THEME_KIND, sitemapChildPath, sitemapDate, sitemapIndexXml, sitemapResponse, sitemapXml, SITEMAP_CHILD_ROUTE, SITEMAP_CONTENT_TYPE, SITEMAP_MAX_URLS, SITEMAP_NAMESPACE, SITEMAP_PATH, snippetHtml, SOURCE_NAMESPACE, siteAuthorContext, siteMenus, siteTimezone, splitFeedPath, splitRepresentationExtension, startOfMonth, tagHref, TAXONOMIES, userForAuthor, TAXONOMY_BASE_PATTERN, TAXONOMY_LABELS, taxonomyBaseProblems, taxonomyBases, taxonomyBasesOrDefault, taxonomyForSegment, taxonomyRedirectsOf, OPTIONAL_TEMPLATES, TEMPLATES, termHref, termRedirects, themeAssetNotModified, themeAssetResponse, THEME_ASSET_MAX_AGE, THEME_ASSET_PREFIX, THEME_STATIC_DIR, THEME_MANIFEST_FILE, themeSearchPath, UPLOAD_ASSET_MAX_AGE, UPLOAD_ASSET_PREFIX, UPLOAD_DIRECTORY, WFW_NAMESPACE, } from './web/index.ts';
|
|
40
|
+
export type { AcceptRange, AssetResponseOptions, AuthorContext, AuthorRequest, ConditionalHeaders, CreateRendererOptions, CommentFeedSource, Conversation, ConversationContext, ConversationReader, CreateTemplateEnvironmentOptions, DateFormat, DocumentContext, DocumentJson, DocumentJsonOptions, FeedComment, FeedFormat, FeedIdentity, FeedItem, FeedItemComments, FeedItemContext, FeedPath, FeedResponseOptions, FeedSource, FrontPageSlugs, JsonFeed, JsonFeedAuthor, JsonFeedHub, Interaction, InteractionAuthor, InteractionCounts, InteractionKind, InteractionSource, InteractionStatus, JsonFeedItem, SiteInteraction, NotifyServer, Listing, MenuItem, MenuItemFlag, MenuList, NavigationItem, NavigationMenuOptions, NavigationMenus, NavigationMenusOptions, NeighbourContext, PageContext, PaginateOptions, Pagination, RecentPostsSource, Renderer, Representation, RepresentationExtension, RepresentationResponseOptions, SearchJson, SearchJsonOptions, SearchPage, SearchResultJson, SiteData, SiteDataSource, SitemapResponseOptions, SitemapUrl, StaticAsset, Taxonomy, TaxonomyBaseProblems, TaxonomyBases, TaxonomyRedirect, TaxonomyTerm, Theme, ThemeArea, ThemeAsset, ThemeKind, ThemeRead, } from './web/index.ts';
|
|
41
|
+
export { classesOf, createWebmentionService, discoverEndpoint, DISCOVERY_MAX_BYTES, DISCOVERY_TIMEOUT_MS, elementsIn, endpointInHeader, endpointInHtml, externalLinks, innerHtmlOf, isElement, itemsIn, linksTo, parseHtml, rawTextOf, readCapped, SEND_TIMEOUT_MS, sourceEntry, textOf, WEBMENTION_USER_AGENT, } from './webmention/index.ts';
|
|
42
|
+
export type { CreateWebmentionServiceOptions, HtmlElement, HtmlNode, HtmlText, MicroformatItem, MicroformatValue, SourceEntry, WebmentionKind, WebmentionLogger, WebmentionReport, } from './webmention/index.ts';
|
|
43
|
+
/**
|
|
44
|
+
* Where the scheduler's watermark lives in {@link AdminStore.getState}: the
|
|
45
|
+
* instant up to which scheduled documents have been announced.
|
|
46
|
+
*/
|
|
47
|
+
export declare const SCHEDULE_WATERMARK_KEY = "schedule.watermark";
|
|
20
48
|
/** A running (or runnable) CMS instance. */
|
|
21
49
|
export interface Cms {
|
|
22
50
|
/**
|
|
@@ -29,9 +57,12 @@ export interface Cms {
|
|
|
29
57
|
/** The content index, opened against {@link ResolvedConfig.dataDir} on boot. */
|
|
30
58
|
readonly store: ContentStore;
|
|
31
59
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
60
|
+
* Everything in the database that is not the content index: the sessions,
|
|
61
|
+
* the followers and inbox indexes, the delivery outcomes, the relay
|
|
62
|
+
* handshake and the scheduler's watermark. In the same file as the index.
|
|
63
|
+
*
|
|
64
|
+
* All of it is derived or disposable (decision-9); the accounts and the
|
|
65
|
+
* actor's keys, which are not, are files under `dataDir`.
|
|
35
66
|
*/
|
|
36
67
|
readonly admin: AdminStore;
|
|
37
68
|
/**
|
|
@@ -46,12 +77,73 @@ export interface Cms {
|
|
|
46
77
|
/**
|
|
47
78
|
* Outbound ActivityPub delivery: what sends a post to the followers when it
|
|
48
79
|
* is published, edited or withdrawn, and what an admin screen calls to send
|
|
49
|
-
*
|
|
80
|
+
* one of them as it now reads.
|
|
50
81
|
*
|
|
51
82
|
* It is already subscribed to the index; a site only reaches for it to
|
|
52
|
-
*
|
|
83
|
+
* resend a post, or to wait for the deliveries in flight.
|
|
53
84
|
*/
|
|
54
85
|
readonly delivery: DeliveryService;
|
|
86
|
+
/**
|
|
87
|
+
* The site's relay subscriptions (FEP-ae0c): what follows a relay when one
|
|
88
|
+
* is added to the settings, what an `Accept` marks accepted, and what every
|
|
89
|
+
* public activity is delivered to alongside the followers.
|
|
90
|
+
*/
|
|
91
|
+
readonly relays: RelayService;
|
|
92
|
+
/**
|
|
93
|
+
* The site's outgoing webmentions: what tells the pages a post links to that
|
|
94
|
+
* it links to them, and what an admin screen calls to tell them again.
|
|
95
|
+
*
|
|
96
|
+
* It is already subscribed to the index; a site reaches for it to send one
|
|
97
|
+
* post's links again, or to wait for the ones in flight.
|
|
98
|
+
*/
|
|
99
|
+
readonly webmentions: WebmentionService;
|
|
100
|
+
/**
|
|
101
|
+
* The site's rssCloud and WebSub client: what tells the notify server named
|
|
102
|
+
* in the settings that a feed changed, so a subscriber hears at once rather
|
|
103
|
+
* than on its next poll.
|
|
104
|
+
*
|
|
105
|
+
* It is already subscribed to the index; a site reaches for it to ping a
|
|
106
|
+
* feed of its own ({@link Cms.notifyFeeds}), or to wait for the pings in
|
|
107
|
+
* flight.
|
|
108
|
+
*/
|
|
109
|
+
readonly notifier: FeedNotifier;
|
|
110
|
+
/**
|
|
111
|
+
* The site's outgoing email (TASK-53): what the settings screen's Send test
|
|
112
|
+
* email button uses, and what the password resets, moderation notices and
|
|
113
|
+
* contact messages built on it will.
|
|
114
|
+
*
|
|
115
|
+
* A site with no mail configuration still has one. Its `send` logs that the
|
|
116
|
+
* message was not sent and resolves successfully, so a feature that emails
|
|
117
|
+
* never has to ask whether the site can.
|
|
118
|
+
*/
|
|
119
|
+
readonly mail: MailService;
|
|
120
|
+
/**
|
|
121
|
+
* Who is told about comments (TASK-55): the moderators when one is waiting,
|
|
122
|
+
* and a commenter when a reply to them is approved.
|
|
123
|
+
*
|
|
124
|
+
* Here so a site's own code can send the same notice for a comment it
|
|
125
|
+
* created itself. With no mail configuration it sends nothing, like the mail
|
|
126
|
+
* service behind it.
|
|
127
|
+
*/
|
|
128
|
+
readonly notifications: CommentNotifier;
|
|
129
|
+
/**
|
|
130
|
+
* The batched half of the same notice (TASK-60): what writes to a user who
|
|
131
|
+
* chose an hourly or a daily digest instead of a message per comment.
|
|
132
|
+
*
|
|
133
|
+
* It is started by {@link Cms.serve} and stopped by {@link Cms.close}; a
|
|
134
|
+
* site reaches for it to send what is due without waiting for the tick,
|
|
135
|
+
* which is also what a test does.
|
|
136
|
+
*/
|
|
137
|
+
readonly digests: CommentDigest;
|
|
138
|
+
/**
|
|
139
|
+
* The publisher of scheduled posts: what holds a future-dated post back and
|
|
140
|
+
* releases it when its date arrives.
|
|
141
|
+
*
|
|
142
|
+
* It is already subscribed to the index and started by {@link Cms.serve}; a
|
|
143
|
+
* site reaches for it to ask what it is waiting for, or to release what is
|
|
144
|
+
* due without waiting for the timer.
|
|
145
|
+
*/
|
|
146
|
+
readonly scheduler: Scheduler;
|
|
55
147
|
/**
|
|
56
148
|
* Index changes, as they happen: `created`, `updated`, `deleted`,
|
|
57
149
|
* `published`, `unpublished` and the catch-all `change`. Every listener is
|
|
@@ -75,6 +167,16 @@ export interface Cms {
|
|
|
75
167
|
* function that unsubscribes.
|
|
76
168
|
*/
|
|
77
169
|
onPublish(hook: DocumentChangeHook): () => void;
|
|
170
|
+
/**
|
|
171
|
+
* Tell the notify server that these feeds changed — absolute URLs, because
|
|
172
|
+
* it is going to fetch them. The hook a site calls for a feed the CMS does
|
|
173
|
+
* not know it has.
|
|
174
|
+
*
|
|
175
|
+
* Best effort: the pings are queued behind whatever is already going out, a
|
|
176
|
+
* repeated URL is sent once, and a refusal is logged rather than thrown. A
|
|
177
|
+
* site that names no notify server gets an empty report.
|
|
178
|
+
*/
|
|
179
|
+
notifyFeeds(urls: readonly string[]): Promise<NotifyReport>;
|
|
78
180
|
/**
|
|
79
181
|
* Walk the content directory once and bring the index into line with it.
|
|
80
182
|
* What `serve()` does on boot, and what the `geekity sync` command runs.
|
|
@@ -99,8 +201,10 @@ export interface Cms {
|
|
|
99
201
|
*
|
|
100
202
|
* The returned app is a plain Hono app: the public site, the admin UI and the
|
|
101
203
|
* federation endpoints are all mounted on it as later milestones land. Booting
|
|
102
|
-
* opens the SQLite
|
|
103
|
-
* any migrations, so `close()` has to be called to release it.
|
|
204
|
+
* opens the SQLite cache under `dataDir` (creating the directory) and applies
|
|
205
|
+
* any migrations, so `close()` has to be called to release it. A missing
|
|
206
|
+
* database is built and read back out of the files; see {@link openCache} for
|
|
207
|
+
* what happens to one this version cannot use.
|
|
104
208
|
*/
|
|
105
209
|
export declare function createCms(config?: GeekityConfig): Cms;
|
|
106
210
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|