@geekity/cms 0.30.0 → 0.31.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 +26 -4266
- package/admin/pages/settings/privacy.njk +1 -1
- package/dist/access-log.d.ts +2 -10
- package/dist/access-log.d.ts.map +1 -1
- package/dist/access-log.js +1 -1
- package/dist/access-log.js.map +1 -1
- package/dist/{web → admin}/admin-bar.d.ts +3 -2
- package/dist/admin/admin-bar.d.ts.map +1 -0
- package/dist/{web → admin}/admin-bar.js +20 -17
- package/dist/admin/admin-bar.js.map +1 -0
- package/dist/{indieauth → admin}/app-activity.d.ts +2 -2
- package/dist/admin/app-activity.d.ts.map +1 -0
- package/dist/{indieauth → admin}/app-activity.js +5 -5
- package/dist/admin/app-activity.js.map +1 -0
- package/dist/admin/appearance.d.ts +3 -3
- package/dist/admin/appearance.d.ts.map +1 -1
- package/dist/admin/appearance.js +12 -6
- package/dist/admin/appearance.js.map +1 -1
- package/dist/admin/assets.d.ts +1 -8
- package/dist/admin/assets.d.ts.map +1 -1
- package/dist/admin/assets.js +2 -9
- package/dist/admin/assets.js.map +1 -1
- package/dist/admin/comments.d.ts +2 -2
- package/dist/admin/comments.d.ts.map +1 -1
- package/dist/admin/comments.js +16 -17
- package/dist/admin/comments.js.map +1 -1
- package/dist/{indieauth → admin}/connected-apps.d.ts +2 -2
- package/dist/admin/connected-apps.d.ts.map +1 -0
- package/dist/{indieauth → admin}/connected-apps.js +18 -19
- package/dist/admin/connected-apps.js.map +1 -0
- package/dist/admin/credentials.js +1 -1
- package/dist/admin/credentials.js.map +1 -1
- package/dist/admin/dev-mode.d.ts +1 -1
- package/dist/admin/dev-mode.d.ts.map +1 -1
- package/dist/admin/documents.d.ts +16 -301
- package/dist/admin/documents.d.ts.map +1 -1
- package/dist/admin/documents.js +74 -1032
- package/dist/admin/documents.js.map +1 -1
- package/dist/admin/editor-actions.d.ts +3 -2
- package/dist/admin/editor-actions.d.ts.map +1 -1
- package/dist/admin/editor-actions.js +8 -8
- package/dist/admin/editor-actions.js.map +1 -1
- package/dist/admin/editor-fields.d.ts +45 -0
- package/dist/admin/editor-fields.d.ts.map +1 -0
- package/dist/admin/editor-fields.js +71 -0
- package/dist/admin/editor-fields.js.map +1 -0
- package/dist/admin/editor-layout.d.ts +2 -10
- package/dist/admin/editor-layout.d.ts.map +1 -1
- package/dist/admin/editor-layout.js +1 -1
- package/dist/admin/editor-layout.js.map +1 -1
- package/dist/admin/federation.d.ts +5 -5
- package/dist/admin/federation.d.ts.map +1 -1
- package/dist/admin/federation.js +16 -18
- package/dist/admin/federation.js.map +1 -1
- package/dist/admin/flash.d.ts +2 -2
- package/dist/admin/flash.d.ts.map +1 -1
- package/dist/admin/headers.d.ts +1 -1
- package/dist/admin/headers.d.ts.map +1 -1
- package/dist/admin/headers.js +1 -1
- package/dist/admin/headers.js.map +1 -1
- package/dist/admin/index.d.ts +38 -20
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +27 -13
- package/dist/admin/index.js.map +1 -1
- package/dist/{indieauth/consent.d.ts → admin/indieauth-consent.d.ts} +4 -4
- package/dist/admin/indieauth-consent.d.ts.map +1 -0
- package/dist/{indieauth/consent.js → admin/indieauth-consent.js} +17 -18
- package/dist/admin/indieauth-consent.js.map +1 -0
- package/dist/admin/legacy-migrations.d.ts +131 -0
- package/dist/admin/legacy-migrations.d.ts.map +1 -0
- package/dist/admin/legacy-migrations.js +235 -0
- package/dist/admin/legacy-migrations.js.map +1 -0
- package/dist/admin/media.d.ts +4 -108
- package/dist/admin/media.d.ts.map +1 -1
- package/dist/admin/media.js +19 -187
- package/dist/admin/media.js.map +1 -1
- package/dist/admin/menu.d.ts.map +1 -1
- package/dist/admin/menu.js +7 -7
- package/dist/admin/menu.js.map +1 -1
- package/dist/admin/messages.d.ts +1 -1
- package/dist/admin/messages.d.ts.map +1 -1
- package/dist/admin/messages.js +10 -12
- package/dist/admin/messages.js.map +1 -1
- package/dist/admin/navigation.d.ts +3 -3
- package/dist/admin/navigation.d.ts.map +1 -1
- package/dist/admin/navigation.js +9 -12
- package/dist/admin/navigation.js.map +1 -1
- package/dist/admin/personal-data.d.ts +1 -1
- package/dist/admin/personal-data.d.ts.map +1 -1
- package/dist/admin/personal-data.js +3 -6
- package/dist/admin/personal-data.js.map +1 -1
- package/dist/admin/plugins.d.ts +1 -1
- package/dist/admin/plugins.d.ts.map +1 -1
- package/dist/admin/plugins.js +11 -15
- package/dist/admin/plugins.js.map +1 -1
- package/dist/admin/preview.d.ts +2 -1
- package/dist/admin/preview.d.ts.map +1 -1
- package/dist/admin/preview.js +28 -32
- package/dist/admin/preview.js.map +1 -1
- package/dist/admin/recovery.d.ts +3 -3
- package/dist/admin/recovery.d.ts.map +1 -1
- package/dist/admin/recovery.js +10 -12
- package/dist/admin/recovery.js.map +1 -1
- package/dist/admin/routes.d.ts +1 -3
- package/dist/admin/routes.d.ts.map +1 -1
- package/dist/admin/routes.js +28 -26
- package/dist/admin/routes.js.map +1 -1
- package/dist/admin/settings-discussion.d.ts.map +1 -1
- package/dist/admin/settings-discussion.js +7 -4
- package/dist/admin/settings-discussion.js.map +1 -1
- package/dist/admin/settings-email.d.ts +1 -1
- package/dist/admin/settings-email.d.ts.map +1 -1
- package/dist/admin/settings-email.js +13 -10
- package/dist/admin/settings-email.js.map +1 -1
- package/dist/admin/settings-general.d.ts.map +1 -1
- package/dist/admin/settings-general.js +10 -7
- package/dist/admin/settings-general.js.map +1 -1
- package/dist/admin/settings-page.d.ts +3 -4
- package/dist/admin/settings-page.d.ts.map +1 -1
- package/dist/admin/settings-page.js +5 -6
- package/dist/admin/settings-page.js.map +1 -1
- package/dist/admin/settings-pages.d.ts +1 -1
- package/dist/admin/settings-pages.d.ts.map +1 -1
- package/dist/admin/settings-permalinks.js +1 -1
- package/dist/admin/settings-permalinks.js.map +1 -1
- package/dist/admin/settings-reading.d.ts +2 -2
- package/dist/admin/settings-reading.d.ts.map +1 -1
- package/dist/admin/settings-reading.js +4 -3
- package/dist/admin/settings-reading.js.map +1 -1
- package/dist/admin/settings.d.ts +0 -579
- package/dist/admin/settings.d.ts.map +1 -1
- package/dist/admin/settings.js +1 -1155
- package/dist/admin/settings.js.map +1 -1
- package/dist/admin/syndication-targets.d.ts +1 -1
- package/dist/admin/syndication-targets.d.ts.map +1 -1
- package/dist/admin/syndication-targets.js +11 -15
- package/dist/admin/syndication-targets.js.map +1 -1
- package/dist/admin/taxonomy.d.ts +2 -2
- package/dist/admin/taxonomy.d.ts.map +1 -1
- package/dist/admin/taxonomy.js +8 -11
- package/dist/admin/taxonomy.js.map +1 -1
- package/dist/admin/templates.js +1 -1
- package/dist/admin/templates.js.map +1 -1
- package/dist/admin/tools.d.ts +4 -4
- package/dist/admin/tools.d.ts.map +1 -1
- package/dist/admin/tools.js +3 -6
- package/dist/admin/tools.js.map +1 -1
- package/dist/admin/uploads.d.ts +1 -106
- package/dist/admin/uploads.d.ts.map +1 -1
- package/dist/admin/uploads.js +2 -191
- package/dist/admin/uploads.js.map +1 -1
- package/dist/admin/users.d.ts +20 -15
- package/dist/admin/users.d.ts.map +1 -1
- package/dist/admin/users.js +83 -80
- package/dist/admin/users.js.map +1 -1
- package/dist/avatars/avatars.d.ts +2 -2
- package/dist/avatars/avatars.d.ts.map +1 -1
- package/dist/avatars/avatars.js +6 -9
- package/dist/avatars/avatars.js.map +1 -1
- package/dist/avatars/index.d.ts +0 -1
- package/dist/avatars/index.d.ts.map +1 -1
- package/dist/avatars/index.js +0 -1
- package/dist/avatars/index.js.map +1 -1
- package/dist/cache.d.ts +4 -2
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +11 -5
- package/dist/cache.js.map +1 -1
- package/dist/cli.d.ts +2 -33
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +238 -267
- package/dist/cli.js.map +1 -1
- package/dist/cms/app.d.ts +11 -0
- package/dist/cms/app.d.ts.map +1 -0
- package/dist/cms/app.js +115 -0
- package/dist/cms/app.js.map +1 -0
- package/dist/cms/boot.d.ts +14 -0
- package/dist/cms/boot.d.ts.map +1 -0
- package/dist/cms/boot.js +107 -0
- package/dist/cms/boot.js.map +1 -0
- package/dist/cms/create.d.ts +248 -0
- package/dist/cms/create.d.ts.map +1 -0
- package/dist/cms/create.js +167 -0
- package/dist/cms/create.js.map +1 -0
- package/dist/cms/lifecycle.d.ts +11 -0
- package/dist/cms/lifecycle.d.ts.map +1 -0
- package/dist/cms/lifecycle.js +15 -0
- package/dist/cms/lifecycle.js.map +1 -0
- package/dist/{web/errors.d.ts → cms/server-error.d.ts} +2 -8
- package/dist/cms/server-error.d.ts.map +1 -0
- package/dist/{web/errors.js → cms/server-error.js} +4 -14
- package/dist/cms/server-error.js.map +1 -0
- package/dist/cms/services.d.ts +55 -0
- package/dist/cms/services.d.ts.map +1 -0
- package/dist/cms/services.js +353 -0
- package/dist/cms/services.js.map +1 -0
- package/dist/cms/site-records.d.ts +4 -0
- package/dist/cms/site-records.d.ts.map +1 -0
- package/dist/cms/site-records.js +15 -0
- package/dist/cms/site-records.js.map +1 -0
- package/dist/comments/akismet.d.ts +1 -1
- package/dist/comments/akismet.d.ts.map +1 -1
- package/dist/comments/akismet.js +1 -3
- package/dist/comments/akismet.js.map +1 -1
- package/dist/comments/conversation.d.ts +334 -0
- package/dist/comments/conversation.d.ts.map +1 -0
- package/dist/comments/conversation.js +51 -0
- package/dist/comments/conversation.js.map +1 -0
- package/dist/comments/form.d.ts +2 -2
- package/dist/comments/form.d.ts.map +1 -1
- package/dist/comments/form.js +2 -2
- package/dist/comments/form.js.map +1 -1
- package/dist/comments/index.d.ts +12 -6
- package/dist/comments/index.d.ts.map +1 -1
- package/dist/comments/index.js +7 -4
- package/dist/comments/index.js.map +1 -1
- package/dist/comments/intake.d.ts +147 -0
- package/dist/comments/intake.d.ts.map +1 -0
- package/dist/comments/intake.js +161 -0
- package/dist/comments/intake.js.map +1 -0
- package/dist/comments/markdown.d.ts.map +1 -1
- package/dist/comments/markdown.js +2 -9
- package/dist/comments/markdown.js.map +1 -1
- package/dist/comments/migrations.d.ts +45 -0
- package/dist/comments/migrations.d.ts.map +1 -0
- package/dist/comments/migrations.js +194 -0
- package/dist/comments/migrations.js.map +1 -0
- package/dist/comments/moderate.d.ts +2 -2
- package/dist/comments/moderate.d.ts.map +1 -1
- package/dist/comments/moderate.js +3 -13
- package/dist/comments/moderate.js.map +1 -1
- package/dist/comments/page-form.d.ts +52 -0
- package/dist/comments/page-form.d.ts.map +1 -0
- package/dist/comments/page-form.js +62 -0
- package/dist/comments/page-form.js.map +1 -0
- package/dist/comments/policy.d.ts +1 -9
- package/dist/comments/policy.d.ts.map +1 -1
- package/dist/comments/policy.js +3 -18
- package/dist/comments/policy.js.map +1 -1
- package/dist/comments/records.d.ts +17 -193
- package/dist/comments/records.d.ts.map +1 -1
- package/dist/comments/records.js +22 -391
- package/dist/comments/records.js.map +1 -1
- package/dist/comments/reply-notices.d.ts +5 -5
- package/dist/comments/reply-notices.d.ts.map +1 -1
- package/dist/comments/reply-notices.js +6 -6
- package/dist/comments/reply-notices.js.map +1 -1
- package/dist/comments/reply-post.d.ts +2 -2
- package/dist/comments/reply-post.d.ts.map +1 -1
- package/dist/comments/reply-post.js +7 -5
- package/dist/comments/reply-post.js.map +1 -1
- package/dist/comments/routes.d.ts +3 -3
- package/dist/comments/routes.d.ts.map +1 -1
- package/dist/comments/routes.js +19 -31
- package/dist/comments/routes.js.map +1 -1
- package/dist/comments/submission.d.ts +5 -100
- package/dist/comments/submission.d.ts.map +1 -1
- package/dist/comments/submission.js +5 -20
- package/dist/comments/submission.js.map +1 -1
- package/dist/comments/viewer.d.ts +1 -25
- package/dist/comments/viewer.d.ts.map +1 -1
- package/dist/comments/viewer.js +1 -44
- package/dist/comments/viewer.js.map +1 -1
- package/dist/config-loader.d.ts +35 -0
- package/dist/config-loader.d.ts.map +1 -0
- package/dist/config-loader.js +116 -0
- package/dist/config-loader.js.map +1 -0
- package/dist/config.d.ts +72 -50
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +132 -180
- package/dist/config.js.map +1 -1
- package/dist/contact/delivery.d.ts +1 -1
- package/dist/contact/delivery.d.ts.map +1 -1
- package/dist/contact/delivery.js +5 -13
- package/dist/contact/delivery.js.map +1 -1
- package/dist/contact/form.d.ts +2 -4
- package/dist/contact/form.d.ts.map +1 -1
- package/dist/contact/form.js +3 -4
- package/dist/contact/form.js.map +1 -1
- package/dist/contact/index.d.ts +2 -2
- package/dist/contact/index.d.ts.map +1 -1
- package/dist/contact/index.js +2 -2
- package/dist/contact/index.js.map +1 -1
- package/dist/contact/records.d.ts.map +1 -1
- package/dist/contact/records.js +8 -11
- package/dist/contact/records.js.map +1 -1
- package/dist/contact/submission.d.ts +2 -2
- package/dist/contact/submission.d.ts.map +1 -1
- package/dist/contact/submission.js +7 -16
- package/dist/contact/submission.js.map +1 -1
- package/dist/{images → content}/alt-text.d.ts +1 -1
- package/dist/content/alt-text.d.ts.map +1 -0
- package/dist/{images → content}/alt-text.js +3 -5
- package/dist/content/alt-text.js.map +1 -0
- package/dist/content/authors.d.ts +79 -0
- package/dist/content/authors.d.ts.map +1 -0
- package/dist/content/authors.js +106 -0
- package/dist/content/authors.js.map +1 -0
- package/dist/content/citation.d.ts +3 -0
- package/dist/content/citation.d.ts.map +1 -1
- package/dist/content/citation.js +3 -0
- package/dist/content/citation.js.map +1 -1
- package/dist/content/comments.d.ts +3 -0
- package/dist/content/comments.d.ts.map +1 -0
- package/dist/content/comments.js +3 -0
- package/dist/content/comments.js.map +1 -0
- package/dist/content/contact.d.ts +3 -0
- package/dist/content/contact.d.ts.map +1 -0
- package/dist/content/contact.js +3 -0
- package/dist/content/contact.js.map +1 -0
- package/dist/content/document-form.d.ts +195 -0
- package/dist/content/document-form.d.ts.map +1 -0
- package/dist/content/document-form.js +201 -0
- package/dist/content/document-form.js.map +1 -0
- package/dist/content/document-kind.d.ts +55 -0
- package/dist/content/document-kind.d.ts.map +1 -0
- package/dist/content/document-kind.js +30 -0
- package/dist/content/document-kind.js.map +1 -0
- package/dist/{admin/enclosure-field.d.ts → content/enclosure-form.d.ts} +14 -34
- package/dist/content/enclosure-form.d.ts.map +1 -0
- package/dist/{admin/enclosure-field.js → content/enclosure-form.js} +39 -76
- package/dist/content/enclosure-form.js.map +1 -0
- package/dist/content/enclosure.d.ts.map +1 -1
- package/dist/content/enclosure.js +3 -4
- package/dist/content/enclosure.js.map +1 -1
- package/dist/{admin/event-field.d.ts → content/event-form.d.ts} +6 -5
- package/dist/content/event-form.d.ts.map +1 -0
- package/dist/{admin/event-field.js → content/event-form.js} +45 -12
- package/dist/content/event-form.js.map +1 -0
- package/dist/content/excerpt.d.ts +25 -0
- package/dist/content/excerpt.d.ts.map +1 -0
- package/dist/content/excerpt.js +43 -0
- package/dist/content/excerpt.js.map +1 -0
- package/dist/content/form-error.d.ts +10 -0
- package/dist/content/form-error.d.ts.map +1 -0
- package/dist/content/form-error.js +2 -0
- package/dist/content/form-error.js.map +1 -0
- package/dist/{web → content}/guids.d.ts +12 -5
- package/dist/content/guids.d.ts.map +1 -0
- package/dist/{web → content}/guids.js +28 -5
- package/dist/content/guids.js.map +1 -0
- package/dist/content/image-tags.d.ts +25 -0
- package/dist/content/image-tags.d.ts.map +1 -0
- package/dist/content/image-tags.js +55 -0
- package/dist/content/image-tags.js.map +1 -0
- package/dist/content/index.d.ts +9 -4
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +5 -2
- package/dist/content/index.js.map +1 -1
- package/dist/content/language.d.ts +19 -0
- package/dist/content/language.d.ts.map +1 -0
- package/dist/content/language.js +19 -0
- package/dist/content/language.js.map +1 -0
- package/dist/content/license.d.ts.map +1 -0
- package/dist/content/license.js.map +1 -0
- package/dist/{web → content}/locale.d.ts +0 -6
- package/dist/content/locale.d.ts.map +1 -0
- package/dist/{web → content}/locale.js +1 -6
- package/dist/content/locale.js.map +1 -0
- package/dist/content/location-form.d.ts +17 -0
- package/dist/content/location-form.d.ts.map +1 -0
- package/dist/{admin/location-field.js → content/location-form.js} +2 -23
- package/dist/content/location-form.js.map +1 -0
- package/dist/content/location.d.ts.map +1 -1
- package/dist/content/location.js +1 -3
- package/dist/content/location.js.map +1 -1
- package/dist/content/markdown-links.d.ts +11 -0
- package/dist/content/markdown-links.d.ts.map +1 -0
- package/dist/content/markdown-links.js +223 -0
- package/dist/content/markdown-links.js.map +1 -0
- package/dist/content/markdown.d.ts +2 -1
- package/dist/content/markdown.d.ts.map +1 -1
- package/dist/content/markdown.js +1 -1
- package/dist/content/markdown.js.map +1 -1
- package/dist/content/migrated.js +1 -1
- package/dist/content/migrated.js.map +1 -1
- package/dist/content/parser.d.ts.map +1 -1
- package/dist/content/parser.js +1 -12
- package/dist/content/parser.js.map +1 -1
- package/dist/content/permalinks.d.ts +34 -0
- package/dist/content/permalinks.d.ts.map +1 -0
- package/dist/{web/documents.js → content/permalinks.js} +6 -56
- package/dist/content/permalinks.js.map +1 -0
- package/dist/content/photo-form.d.ts +28 -0
- package/dist/content/photo-form.d.ts.map +1 -0
- package/dist/{admin/photo-field.js → content/photo-form.js} +36 -36
- package/dist/content/photo-form.js.map +1 -0
- package/dist/content/photo.d.ts +1 -1
- package/dist/content/photo.d.ts.map +1 -1
- package/dist/content/photo.js +1 -1
- package/dist/content/photo.js.map +1 -1
- package/dist/content/post-fields.d.ts +40 -0
- package/dist/content/post-fields.d.ts.map +1 -0
- package/dist/content/post-fields.js +256 -0
- package/dist/content/post-fields.js.map +1 -0
- package/dist/{admin/read-field.d.ts → content/read-form.d.ts} +6 -4
- package/dist/content/read-form.d.ts.map +1 -0
- package/dist/content/read-form.js +99 -0
- package/dist/content/read-form.js.map +1 -0
- package/dist/content/read.d.ts.map +1 -1
- package/dist/content/read.js +7 -11
- package/dist/content/read.js.map +1 -1
- package/dist/content/redirects.d.ts +84 -0
- package/dist/content/redirects.d.ts.map +1 -0
- package/dist/content/redirects.js +234 -0
- package/dist/content/redirects.js.map +1 -0
- package/dist/content/sanitize.d.ts +13 -0
- package/dist/content/sanitize.d.ts.map +1 -0
- package/dist/{web → content}/sanitize.js +4 -71
- package/dist/content/sanitize.js.map +1 -0
- package/dist/content/save.d.ts +5 -8
- package/dist/content/save.d.ts.map +1 -1
- package/dist/content/save.js +5 -26
- package/dist/content/save.js.map +1 -1
- package/dist/content/schedule.d.ts +2 -2
- package/dist/content/schedule.d.ts.map +1 -1
- package/dist/content/schedule.js +1 -3
- package/dist/content/schedule.js.map +1 -1
- package/dist/content/served.d.ts +58 -0
- package/dist/content/served.d.ts.map +1 -0
- package/dist/content/served.js +65 -0
- package/dist/content/served.js.map +1 -0
- package/dist/content/site-links.d.ts +72 -0
- package/dist/content/site-links.d.ts.map +1 -0
- package/dist/content/site-links.js +191 -0
- package/dist/content/site-links.js.map +1 -0
- package/dist/content/sqlite/archive.d.ts +4 -0
- package/dist/content/sqlite/archive.d.ts.map +1 -0
- package/dist/content/sqlite/archive.js +96 -0
- package/dist/content/sqlite/archive.js.map +1 -0
- package/dist/content/sqlite/backlinks.d.ts +4 -0
- package/dist/content/sqlite/backlinks.d.ts.map +1 -0
- package/dist/content/sqlite/backlinks.js +46 -0
- package/dist/content/sqlite/backlinks.js.map +1 -0
- package/dist/content/sqlite/catalog.d.ts +4 -0
- package/dist/content/sqlite/catalog.d.ts.map +1 -0
- package/dist/content/sqlite/catalog.js +62 -0
- package/dist/content/sqlite/catalog.js.map +1 -0
- package/dist/content/sqlite/clauses.d.ts +57 -0
- package/dist/content/sqlite/clauses.d.ts.map +1 -0
- package/dist/content/sqlite/clauses.js +76 -0
- package/dist/content/sqlite/clauses.js.map +1 -0
- package/dist/content/sqlite/database.d.ts +26 -0
- package/dist/content/sqlite/database.d.ts.map +1 -0
- package/dist/content/sqlite/database.js +27 -0
- package/dist/content/sqlite/database.js.map +1 -0
- package/dist/content/sqlite/documents.d.ts +12 -0
- package/dist/content/sqlite/documents.d.ts.map +1 -0
- package/dist/content/sqlite/documents.js +40 -0
- package/dist/content/sqlite/documents.js.map +1 -0
- package/dist/content/sqlite/lookups.d.ts +6 -0
- package/dist/content/sqlite/lookups.d.ts.map +1 -0
- package/dist/content/sqlite/lookups.js +25 -0
- package/dist/content/sqlite/lookups.js.map +1 -0
- package/dist/content/sqlite/open.d.ts +8 -0
- package/dist/content/sqlite/open.d.ts.map +1 -0
- package/dist/content/sqlite/open.js +63 -0
- package/dist/content/sqlite/open.js.map +1 -0
- package/dist/content/sqlite/replies.d.ts +4 -0
- package/dist/content/sqlite/replies.d.ts.map +1 -0
- package/dist/content/sqlite/replies.js +21 -0
- package/dist/content/sqlite/replies.js.map +1 -0
- package/dist/content/sqlite/rows.d.ts +22 -0
- package/dist/content/sqlite/rows.d.ts.map +1 -0
- package/dist/content/sqlite/rows.js +93 -0
- package/dist/content/sqlite/rows.js.map +1 -0
- package/dist/content/sqlite/schedule.d.ts +4 -0
- package/dist/content/sqlite/schedule.d.ts.map +1 -0
- package/dist/content/sqlite/schedule.js +16 -0
- package/dist/content/sqlite/schedule.js.map +1 -0
- package/dist/content/sqlite/schema.d.ts +10 -0
- package/dist/content/sqlite/schema.d.ts.map +1 -0
- package/dist/content/sqlite/schema.js +209 -0
- package/dist/content/sqlite/schema.js.map +1 -0
- package/dist/content/sqlite/search.d.ts +4 -0
- package/dist/content/sqlite/search.d.ts.map +1 -0
- package/dist/content/sqlite/search.js +54 -0
- package/dist/content/sqlite/search.js.map +1 -0
- package/dist/content/sqlite/spellings.d.ts +6 -0
- package/dist/content/sqlite/spellings.d.ts.map +1 -0
- package/dist/content/sqlite/spellings.js +80 -0
- package/dist/content/sqlite/spellings.js.map +1 -0
- package/dist/content/sqlite/taxonomy.d.ts +4 -0
- package/dist/content/sqlite/taxonomy.d.ts.map +1 -0
- package/dist/content/sqlite/taxonomy.js +75 -0
- package/dist/content/sqlite/taxonomy.js.map +1 -0
- package/dist/content/sqlite/writes.d.ts +9 -0
- package/dist/content/sqlite/writes.d.ts.map +1 -0
- package/dist/content/sqlite/writes.js +164 -0
- package/dist/content/sqlite/writes.js.map +1 -0
- package/dist/content/store.d.ts +142 -137
- package/dist/content/store.d.ts.map +1 -1
- package/dist/content/store.js +0 -1050
- package/dist/content/store.js.map +1 -1
- package/dist/content/sync.d.ts +12 -4
- package/dist/content/sync.d.ts.map +1 -1
- package/dist/content/sync.js +24 -41
- package/dist/content/sync.js.map +1 -1
- package/dist/content/syndicate-to.d.ts +25 -0
- package/dist/content/syndicate-to.d.ts.map +1 -0
- package/dist/content/syndicate-to.js +8 -0
- package/dist/content/syndicate-to.js.map +1 -0
- package/dist/{web → content}/taxonomy.d.ts +1 -1
- package/dist/content/taxonomy.d.ts.map +1 -0
- package/dist/{web → content}/taxonomy.js +2 -2
- package/dist/content/taxonomy.js.map +1 -0
- package/dist/content/time.d.ts +2 -2
- package/dist/content/time.d.ts.map +1 -1
- package/dist/content/time.js +3 -3
- package/dist/content/time.js.map +1 -1
- package/dist/content/trash.d.ts +35 -0
- package/dist/content/trash.d.ts.map +1 -0
- package/dist/content/trash.js +83 -0
- package/dist/content/trash.js.map +1 -0
- package/dist/content/uploads.d.ts +24 -0
- package/dist/content/uploads.d.ts.map +1 -0
- package/dist/content/uploads.js +27 -0
- package/dist/content/uploads.js.map +1 -0
- package/dist/content/video.d.ts.map +1 -1
- package/dist/content/video.js +3 -5
- package/dist/content/video.js.map +1 -1
- package/dist/content/write.d.ts +84 -0
- package/dist/content/write.d.ts.map +1 -0
- package/dist/content/write.js +566 -0
- package/dist/content/write.js.map +1 -0
- package/dist/content/writer.d.ts.map +1 -1
- package/dist/content/writer.js +1 -2
- package/dist/content/writer.js.map +1 -1
- package/dist/dev-mode.d.ts +5 -3
- package/dist/dev-mode.d.ts.map +1 -1
- package/dist/dev-mode.js +3 -3
- package/dist/dev-mode.js.map +1 -1
- package/dist/drain.d.ts +2 -3
- package/dist/drain.d.ts.map +1 -1
- package/dist/drain.js +2 -1
- package/dist/drain.js.map +1 -1
- package/dist/exports.d.ts +26 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/exports.js +8 -0
- package/dist/exports.js.map +1 -0
- package/dist/federation/actor.d.ts +1 -1
- package/dist/federation/actor.d.ts.map +1 -1
- package/dist/federation/actor.js +6 -13
- package/dist/federation/actor.js.map +1 -1
- package/dist/federation/article.d.ts +4 -14
- package/dist/federation/article.d.ts.map +1 -1
- package/dist/federation/article.js +19 -32
- package/dist/federation/article.js.map +1 -1
- package/dist/federation/backfill.d.ts +4 -4
- package/dist/federation/backfill.d.ts.map +1 -1
- package/dist/federation/backfill.js +7 -10
- package/dist/federation/backfill.js.map +1 -1
- package/dist/federation/citations.d.ts.map +1 -1
- package/dist/federation/citations.js.map +1 -1
- package/dist/federation/cited-post.d.ts.map +1 -1
- package/dist/federation/cited-post.js +2 -4
- package/dist/federation/cited-post.js.map +1 -1
- package/dist/federation/delivery-plan.d.ts +85 -0
- package/dist/federation/delivery-plan.d.ts.map +1 -0
- package/dist/federation/delivery-plan.js +137 -0
- package/dist/federation/delivery-plan.js.map +1 -0
- package/dist/federation/delivery.d.ts +7 -32
- package/dist/federation/delivery.d.ts.map +1 -1
- package/dist/federation/delivery.js +64 -201
- package/dist/federation/delivery.js.map +1 -1
- package/dist/federation/federation.d.ts +5 -5
- package/dist/federation/federation.d.ts.map +1 -1
- package/dist/federation/federation.js +7 -6
- package/dist/federation/federation.js.map +1 -1
- package/dist/federation/followers.d.ts +1 -1
- package/dist/federation/followers.d.ts.map +1 -1
- package/dist/federation/inbox.d.ts +1 -1
- package/dist/federation/inbox.d.ts.map +1 -1
- package/dist/federation/inbox.js +5 -4
- package/dist/federation/inbox.js.map +1 -1
- package/dist/federation/index.d.ts +10 -8
- package/dist/federation/index.d.ts.map +1 -1
- package/dist/federation/index.js +7 -5
- package/dist/federation/index.js.map +1 -1
- package/dist/federation/keys.d.ts +8 -27
- package/dist/federation/keys.d.ts.map +1 -1
- package/dist/federation/keys.js +4 -47
- package/dist/federation/keys.js.map +1 -1
- package/dist/federation/mount.d.ts +2 -2
- package/dist/federation/mount.d.ts.map +1 -1
- package/dist/federation/mount.js +9 -7
- package/dist/federation/mount.js.map +1 -1
- package/dist/federation/paths.d.ts +1 -9
- package/dist/federation/paths.d.ts.map +1 -1
- package/dist/federation/paths.js +2 -12
- package/dist/federation/paths.js.map +1 -1
- package/dist/federation/profiles.d.ts +1 -1
- package/dist/federation/profiles.d.ts.map +1 -1
- package/dist/federation/profiles.js +5 -8
- package/dist/federation/profiles.js.map +1 -1
- package/dist/federation/quotes.d.ts +2 -2
- package/dist/federation/quotes.d.ts.map +1 -1
- package/dist/federation/quotes.js +4 -4
- package/dist/federation/quotes.js.map +1 -1
- package/dist/federation/records.d.ts +2 -2
- package/dist/federation/records.d.ts.map +1 -1
- package/dist/federation/records.js +12 -19
- package/dist/federation/records.js.map +1 -1
- package/dist/federation/relays.d.ts +2 -3
- package/dist/federation/relays.d.ts.map +1 -1
- package/dist/federation/relays.js +22 -30
- package/dist/federation/relays.js.map +1 -1
- package/dist/federation/site-loaders.js +1 -1
- package/dist/federation/site-loaders.js.map +1 -1
- package/dist/federation/webfinger.d.ts +23 -0
- package/dist/federation/webfinger.d.ts.map +1 -0
- package/dist/federation/webfinger.js +70 -0
- package/dist/federation/webfinger.js.map +1 -0
- package/dist/files/atomic.d.ts.map +1 -1
- package/dist/files/atomic.js +4 -9
- package/dist/files/atomic.js.map +1 -1
- package/dist/files/static-files.d.ts +21 -0
- package/dist/files/static-files.d.ts.map +1 -0
- package/dist/files/static-files.js +88 -0
- package/dist/files/static-files.js.map +1 -0
- package/dist/forms/checker.d.ts +93 -0
- package/dist/forms/checker.d.ts.map +1 -0
- package/dist/forms/checker.js +2 -0
- package/dist/forms/checker.js.map +1 -0
- package/dist/forms/protection.d.ts +3 -1
- package/dist/forms/protection.d.ts.map +1 -1
- package/dist/forms/protection.js +3 -1
- package/dist/forms/protection.js.map +1 -1
- package/dist/images/icons.js +2 -2
- package/dist/images/icons.js.map +1 -1
- package/dist/images/index.d.ts +2 -1
- package/dist/images/index.d.ts.map +1 -1
- package/dist/images/index.js +2 -1
- package/dist/images/index.js.map +1 -1
- package/dist/images/markup.d.ts +0 -20
- package/dist/images/markup.d.ts.map +1 -1
- package/dist/images/markup.js +5 -64
- package/dist/images/markup.js.map +1 -1
- package/dist/images/paths.d.ts +0 -10
- package/dist/images/paths.d.ts.map +1 -1
- package/dist/images/paths.js +3 -11
- package/dist/images/paths.js.map +1 -1
- package/dist/images/variants.d.ts +2 -2
- package/dist/images/variants.d.ts.map +1 -1
- package/dist/images/variants.js +4 -3
- package/dist/images/variants.js.map +1 -1
- package/dist/index.d.ts +3 -291
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -839
- package/dist/index.js.map +1 -1
- package/dist/indexnow.d.ts.map +1 -1
- package/dist/indexnow.js +21 -26
- package/dist/indexnow.js.map +1 -1
- package/dist/indieauth/client.d.ts +1 -1
- package/dist/indieauth/client.d.ts.map +1 -1
- package/dist/indieauth/client.js +1 -1
- package/dist/indieauth/client.js.map +1 -1
- package/dist/indieauth/grants.d.ts +1 -1
- package/dist/indieauth/grants.d.ts.map +1 -1
- package/dist/indieauth/identity.d.ts +2 -2
- package/dist/indieauth/identity.d.ts.map +1 -1
- package/dist/indieauth/identity.js +5 -7
- package/dist/indieauth/identity.js.map +1 -1
- package/dist/indieauth/redeem.d.ts +1 -1
- package/dist/indieauth/redeem.d.ts.map +1 -1
- package/dist/indieauth/redeem.js.map +1 -1
- package/dist/indieauth/request.d.ts +5 -1
- package/dist/indieauth/request.d.ts.map +1 -1
- package/dist/indieauth/request.js +6 -2
- package/dist/indieauth/request.js.map +1 -1
- package/dist/indieauth/tokens.d.ts +1 -1
- package/dist/indieauth/tokens.d.ts.map +1 -1
- package/dist/indieauth/tokens.js +2 -2
- package/dist/indieauth/tokens.js.map +1 -1
- package/dist/mail/index.d.ts +1 -5
- package/dist/mail/index.d.ts.map +1 -1
- package/dist/mail/index.js +0 -2
- package/dist/mail/index.js.map +1 -1
- package/dist/mail/provider.d.ts +7 -0
- package/dist/mail/provider.d.ts.map +1 -1
- package/dist/maintenance.d.ts +1 -1
- package/dist/maintenance.d.ts.map +1 -1
- package/dist/media/library.d.ts +99 -0
- package/dist/media/library.d.ts.map +1 -0
- package/dist/media/library.js +157 -0
- package/dist/media/library.js.map +1 -0
- package/dist/media/uploads.d.ts +106 -0
- package/dist/media/uploads.d.ts.map +1 -0
- package/dist/media/uploads.js +192 -0
- package/dist/media/uploads.js.map +1 -0
- package/dist/micropub/content.js +1 -1
- package/dist/micropub/content.js.map +1 -1
- package/dist/micropub/create.d.ts +7 -15
- package/dist/micropub/create.d.ts.map +1 -1
- package/dist/micropub/create.js +48 -184
- package/dist/micropub/create.js.map +1 -1
- package/dist/micropub/endpoint.d.ts +2 -2
- package/dist/micropub/endpoint.d.ts.map +1 -1
- package/dist/micropub/endpoint.js +29 -40
- package/dist/micropub/endpoint.js.map +1 -1
- package/dist/micropub/media.d.ts +1 -1
- package/dist/micropub/media.d.ts.map +1 -1
- package/dist/micropub/media.js +6 -6
- package/dist/micropub/media.js.map +1 -1
- package/dist/micropub/update.d.ts +6 -14
- package/dist/micropub/update.d.ts.map +1 -1
- package/dist/micropub/update.js +37 -90
- package/dist/micropub/update.js.map +1 -1
- package/dist/notifications/comments.d.ts +4 -4
- package/dist/notifications/comments.d.ts.map +1 -1
- package/dist/notifications/comments.js +6 -14
- package/dist/notifications/comments.js.map +1 -1
- package/dist/notifications/digest.d.ts +4 -4
- package/dist/notifications/digest.d.ts.map +1 -1
- package/dist/notifications/digest.js +6 -16
- package/dist/notifications/digest.js.map +1 -1
- package/dist/notifications/index.d.ts +6 -3
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +3 -2
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/links.d.ts.map +1 -1
- package/dist/notifications/links.js +2 -2
- package/dist/notifications/links.js.map +1 -1
- package/dist/{mail/service.d.ts → notifications/mail-service.d.ts} +7 -13
- package/dist/notifications/mail-service.d.ts.map +1 -0
- package/dist/{mail/service.js → notifications/mail-service.js} +33 -54
- package/dist/notifications/mail-service.js.map +1 -0
- package/dist/{mail/templates.d.ts → notifications/mail-templates.d.ts} +4 -2
- package/dist/notifications/mail-templates.d.ts.map +1 -0
- package/dist/{mail/templates.js → notifications/mail-templates.js} +5 -3
- package/dist/notifications/mail-templates.js.map +1 -0
- package/dist/notifications/tokens.d.ts +2 -2
- package/dist/notifications/tokens.d.ts.map +1 -1
- package/dist/notifications/tokens.js +2 -2
- package/dist/notifications/tokens.js.map +1 -1
- package/dist/notify.d.ts.map +1 -1
- package/dist/notify.js +12 -24
- package/dist/notify.js.map +1 -1
- package/dist/plugin.d.ts +23 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +21 -3
- package/dist/plugin.js.map +1 -1
- package/dist/plugins/enabled.d.ts.map +1 -1
- package/dist/plugins/enabled.js +2 -4
- package/dist/plugins/enabled.js.map +1 -1
- package/dist/plugins/fetch.d.ts +1 -1
- package/dist/plugins/fetch.d.ts.map +1 -1
- package/dist/plugins/fetch.js +1 -1
- package/dist/plugins/fetch.js.map +1 -1
- package/dist/plugins/folder.d.ts.map +1 -1
- package/dist/plugins/folder.js +1 -3
- package/dist/plugins/folder.js.map +1 -1
- package/dist/plugins/install.d.ts.map +1 -1
- package/dist/plugins/install.js +7 -3
- package/dist/plugins/install.js.map +1 -1
- package/dist/plugins/manage.d.ts +1 -1
- package/dist/plugins/manage.d.ts.map +1 -1
- package/dist/plugins/registry.d.ts.map +1 -1
- package/dist/plugins/registry.js +7 -9
- package/dist/plugins/registry.js.map +1 -1
- package/dist/plugins/settings.d.ts.map +1 -1
- package/dist/plugins/settings.js +2 -3
- package/dist/plugins/settings.js.map +1 -1
- package/dist/plugins/site.d.ts +1 -1
- package/dist/plugins/site.d.ts.map +1 -1
- package/dist/plugins/site.js +4 -4
- package/dist/plugins/site.js.map +1 -1
- package/dist/plugins/upgrade.d.ts.map +1 -1
- package/dist/plugins/upgrade.js +4 -3
- package/dist/plugins/upgrade.js.map +1 -1
- package/dist/privacy/erase.d.ts +1 -1
- package/dist/privacy/erase.d.ts.map +1 -1
- package/dist/privacy/retention.d.ts +2 -2
- package/dist/privacy/retention.d.ts.map +1 -1
- package/dist/privacy/retention.js +9 -11
- package/dist/privacy/retention.js.map +1 -1
- package/dist/site/admin-paths.d.ts +23 -0
- package/dist/site/admin-paths.d.ts.map +1 -0
- package/dist/site/admin-paths.js +25 -0
- package/dist/site/admin-paths.js.map +1 -0
- package/dist/site/admin-theme.d.ts.map +1 -0
- package/dist/site/admin-theme.js.map +1 -0
- package/dist/{web → site}/authors.d.ts +1 -72
- package/dist/site/authors.d.ts.map +1 -0
- package/dist/site/authors.js +107 -0
- package/dist/site/authors.js.map +1 -0
- package/dist/site/feed-settings.d.ts +28 -0
- package/dist/site/feed-settings.d.ts.map +1 -0
- package/dist/site/feed-settings.js +22 -0
- package/dist/site/feed-settings.js.map +1 -0
- package/dist/{web/indexnow.d.ts → site/indexnow-key.d.ts} +1 -1
- package/dist/site/indexnow-key.d.ts.map +1 -0
- package/dist/{web/indexnow.js → site/indexnow-key.js} +1 -1
- package/dist/site/indexnow-key.js.map +1 -0
- package/dist/{web → site}/navigation.d.ts +7 -1
- package/dist/site/navigation.d.ts.map +1 -0
- package/dist/{web → site}/navigation.js +18 -0
- package/dist/site/navigation.js.map +1 -0
- package/dist/{notifications/preferences.d.ts → site/notification-preferences.d.ts} +2 -2
- package/dist/site/notification-preferences.d.ts.map +1 -0
- package/dist/{notifications/preferences.js → site/notification-preferences.js} +1 -1
- package/dist/site/notification-preferences.js.map +1 -0
- package/dist/site/passwords.d.ts.map +1 -0
- package/dist/site/passwords.js.map +1 -0
- package/dist/{privacy/policy.d.ts → site/retention-policy.d.ts} +1 -1
- package/dist/site/retention-policy.d.ts.map +1 -0
- package/dist/{privacy/policy.js → site/retention-policy.js} +1 -1
- package/dist/site/retention-policy.js.map +1 -0
- package/dist/site/robots.d.ts +62 -0
- package/dist/site/robots.d.ts.map +1 -0
- package/dist/site/robots.js +130 -0
- package/dist/site/robots.js.map +1 -0
- package/dist/site/setting-rows.d.ts +46 -0
- package/dist/site/setting-rows.d.ts.map +1 -0
- package/dist/site/setting-rows.js +480 -0
- package/dist/site/setting-rows.js.map +1 -0
- package/dist/site/setting-values.d.ts +63 -0
- package/dist/site/setting-values.d.ts.map +1 -0
- package/dist/site/setting-values.js +170 -0
- package/dist/site/setting-values.js.map +1 -0
- package/dist/site/settings-form.d.ts +30 -0
- package/dist/site/settings-form.d.ts.map +1 -0
- package/dist/site/settings-form.js +58 -0
- package/dist/site/settings-form.js.map +1 -0
- package/dist/site/settings.d.ts +345 -0
- package/dist/site/settings.d.ts.map +1 -0
- package/dist/site/settings.js +107 -0
- package/dist/site/settings.js.map +1 -0
- package/dist/site/site-json.d.ts +69 -0
- package/dist/site/site-json.d.ts.map +1 -0
- package/dist/site/site-json.js +113 -0
- package/dist/site/site-json.js.map +1 -0
- package/dist/{admin/accounts.d.ts → site/users.d.ts} +25 -41
- package/dist/site/users.d.ts.map +1 -0
- package/dist/{admin/accounts.js → site/users.js} +49 -155
- package/dist/site/users.js.map +1 -0
- package/dist/store/admin-store.d.ts +72 -0
- package/dist/store/admin-store.d.ts.map +1 -0
- package/dist/store/admin-store.js +62 -0
- package/dist/store/admin-store.js.map +1 -0
- package/dist/store/comments.d.ts +253 -0
- package/dist/store/comments.d.ts.map +1 -0
- package/dist/store/comments.js +234 -0
- package/dist/store/comments.js.map +1 -0
- package/dist/store/conversation.d.ts +28 -0
- package/dist/store/conversation.d.ts.map +1 -0
- package/dist/store/conversation.js +16 -0
- package/dist/store/conversation.js.map +1 -0
- package/dist/store/deliveries.d.ts +92 -0
- package/dist/store/deliveries.d.ts.map +1 -0
- package/dist/store/deliveries.js +88 -0
- package/dist/store/deliveries.js.map +1 -0
- package/dist/store/followers.d.ts +91 -0
- package/dist/store/followers.d.ts.map +1 -0
- package/dist/store/followers.js +79 -0
- package/dist/store/followers.js.map +1 -0
- package/dist/{federation/replies.d.ts → store/inbox-replies.d.ts} +2 -2
- package/dist/store/inbox-replies.d.ts.map +1 -0
- package/dist/{federation/replies.js → store/inbox-replies.js} +2 -4
- package/dist/store/inbox-replies.js.map +1 -0
- package/dist/store/inbox.d.ts +132 -0
- package/dist/store/inbox.d.ts.map +1 -0
- package/dist/store/inbox.js +157 -0
- package/dist/store/inbox.js.map +1 -0
- package/dist/store/profiles.d.ts +49 -0
- package/dist/store/profiles.d.ts.map +1 -0
- package/dist/store/profiles.js +71 -0
- package/dist/store/profiles.js.map +1 -0
- package/dist/store/relays.d.ts +66 -0
- package/dist/store/relays.d.ts.map +1 -0
- package/dist/store/relays.js +69 -0
- package/dist/store/relays.js.map +1 -0
- package/dist/store/rows.d.ts +33 -0
- package/dist/store/rows.d.ts.map +1 -0
- package/dist/store/rows.js +44 -0
- package/dist/store/rows.js.map +1 -0
- package/dist/store/schema.d.ts +14 -0
- package/dist/store/schema.d.ts.map +1 -0
- package/dist/store/schema.js +588 -0
- package/dist/store/schema.js.map +1 -0
- package/dist/store/sessions.d.ts +90 -0
- package/dist/store/sessions.d.ts.map +1 -0
- package/dist/store/sessions.js +107 -0
- package/dist/store/sessions.js.map +1 -0
- package/dist/store/state.d.ts +18 -0
- package/dist/store/state.d.ts.map +1 -0
- package/dist/store/state.js +19 -0
- package/dist/store/state.js.map +1 -0
- package/dist/store/tokens.d.ts +75 -0
- package/dist/store/tokens.d.ts.map +1 -0
- package/dist/store/tokens.js +82 -0
- package/dist/store/tokens.js.map +1 -0
- package/dist/store/webmentions.d.ts +66 -0
- package/dist/store/webmentions.d.ts.map +1 -0
- package/dist/store/webmentions.js +84 -0
- package/dist/store/webmentions.js.map +1 -0
- package/dist/supervisor/primary.d.ts +1 -1
- package/dist/supervisor/primary.d.ts.map +1 -1
- package/dist/supervisor/primary.js +31 -11
- package/dist/supervisor/primary.js.map +1 -1
- package/dist/supervisor/worker.d.ts +6 -2
- package/dist/supervisor/worker.d.ts.map +1 -1
- package/dist/supervisor/worker.js +4 -4
- package/dist/supervisor/worker.js.map +1 -1
- package/dist/testing.d.ts +8 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +6 -0
- package/dist/testing.js.map +1 -0
- package/dist/{web → theme}/assets.d.ts +1 -32
- package/dist/theme/assets.d.ts.map +1 -0
- package/dist/{web → theme}/assets.js +2 -100
- package/dist/theme/assets.js.map +1 -0
- package/dist/theme/site-data.d.ts +187 -0
- package/dist/theme/site-data.d.ts.map +1 -0
- package/dist/theme/site-data.js +160 -0
- package/dist/theme/site-data.js.map +1 -0
- package/dist/{web → theme}/templates.d.ts +2 -0
- package/dist/theme/templates.d.ts.map +1 -0
- package/dist/{web → theme}/templates.js +9 -32
- package/dist/theme/templates.js.map +1 -0
- package/dist/{web → theme}/themes.d.ts +1 -0
- package/dist/theme/themes.d.ts.map +1 -0
- package/dist/{web → theme}/themes.js +6 -3
- package/dist/theme/themes.js.map +1 -0
- package/dist/util/client-id.d.ts.map +1 -0
- package/dist/util/client-id.js.map +1 -0
- package/dist/util/clock.d.ts +9 -0
- package/dist/util/clock.d.ts.map +1 -0
- package/dist/util/clock.js +2 -0
- package/dist/util/clock.js.map +1 -0
- package/dist/util/errors.d.ts +3 -0
- package/dist/util/errors.d.ts.map +1 -0
- package/dist/util/errors.js +5 -0
- package/dist/util/errors.js.map +1 -0
- package/dist/util/files.d.ts +5 -0
- package/dist/util/files.d.ts.map +1 -0
- package/dist/util/files.js +38 -0
- package/dist/util/files.js.map +1 -0
- package/dist/util/forms.d.ts +5 -0
- package/dist/util/forms.d.ts.map +1 -0
- package/dist/util/forms.js +17 -0
- package/dist/util/forms.js.map +1 -0
- package/dist/util/guards.d.ts +4 -0
- package/dist/util/guards.d.ts.map +1 -0
- package/dist/util/guards.js +12 -0
- package/dist/util/guards.js.map +1 -0
- package/dist/{webmention/html.d.ts → util/html-tree.d.ts} +2 -2
- package/dist/util/html-tree.d.ts.map +1 -0
- package/dist/{webmention/html.js → util/html-tree.js} +3 -64
- package/dist/util/html-tree.js.map +1 -0
- package/dist/util/html.d.ts +4 -0
- package/dist/util/html.d.ts.map +1 -0
- package/dist/util/html.js +34 -0
- package/dist/util/html.js.map +1 -0
- package/dist/util/public-address.d.ts.map +1 -0
- package/dist/util/public-address.js.map +1 -0
- package/dist/util/queue.d.ts +7 -0
- package/dist/util/queue.d.ts.map +1 -0
- package/dist/util/queue.js +23 -0
- package/dist/util/queue.js.map +1 -0
- package/dist/util/retry.d.ts +11 -0
- package/dist/util/retry.d.ts.map +1 -0
- package/dist/util/retry.js +14 -0
- package/dist/util/retry.js.map +1 -0
- package/dist/util/url.d.ts +11 -0
- package/dist/util/url.d.ts.map +1 -0
- package/dist/util/url.js +20 -0
- package/dist/util/url.js.map +1 -0
- package/dist/web/absolute-urls.js +1 -1
- package/dist/web/absolute-urls.js.map +1 -1
- package/dist/web/archive.js +2 -2
- package/dist/web/archive.js.map +1 -1
- package/dist/web/asset-routes.d.ts +48 -0
- package/dist/web/asset-routes.d.ts.map +1 -0
- package/dist/web/asset-routes.js +107 -0
- package/dist/web/asset-routes.js.map +1 -0
- package/dist/{avatars/routes.d.ts → web/avatar-routes.d.ts} +2 -2
- package/dist/web/avatar-routes.d.ts.map +1 -0
- package/dist/{avatars/routes.js → web/avatar-routes.js} +3 -3
- package/dist/web/avatar-routes.js.map +1 -0
- package/dist/web/comment-routes.d.ts +18 -0
- package/dist/web/comment-routes.d.ts.map +1 -0
- package/dist/web/comment-routes.js +177 -0
- package/dist/web/comment-routes.js.map +1 -0
- package/dist/web/compression.d.ts.map +1 -1
- package/dist/web/compression.js +1 -2
- package/dist/web/compression.js.map +1 -1
- package/dist/{contact/routes.d.ts → web/contact-routes.d.ts} +2 -2
- package/dist/web/contact-routes.d.ts.map +1 -0
- package/dist/{contact/routes.js → web/contact-routes.js} +14 -17
- package/dist/web/contact-routes.js.map +1 -0
- package/dist/web/context.d.ts +1 -187
- package/dist/web/context.d.ts.map +1 -1
- package/dist/web/context.js +5 -171
- package/dist/web/context.js.map +1 -1
- package/dist/web/conversation.d.ts +5 -356
- package/dist/web/conversation.d.ts.map +1 -1
- package/dist/web/conversation.js +165 -136
- package/dist/web/conversation.js.map +1 -1
- package/dist/web/document-page.d.ts +13 -0
- package/dist/web/document-page.d.ts.map +1 -0
- package/dist/web/document-page.js +136 -0
- package/dist/web/document-page.js.map +1 -0
- package/dist/web/document-site.d.ts +14 -0
- package/dist/web/document-site.d.ts.map +1 -0
- package/dist/web/document-site.js +28 -0
- package/dist/web/document-site.js.map +1 -0
- package/dist/web/embed.d.ts +13 -0
- package/dist/web/embed.d.ts.map +1 -0
- package/dist/web/embed.js +66 -0
- package/dist/web/embed.js.map +1 -0
- package/dist/{env.d.ts → web/env.d.ts} +27 -26
- package/dist/web/env.d.ts.map +1 -0
- package/dist/web/env.js.map +1 -0
- package/dist/web/federation-routes.d.ts +33 -0
- package/dist/web/federation-routes.d.ts.map +1 -0
- package/dist/web/federation-routes.js +280 -0
- package/dist/web/federation-routes.js.map +1 -0
- package/dist/web/feed-atom.d.ts.map +1 -1
- package/dist/web/feed-atom.js +4 -3
- package/dist/web/feed-atom.js.map +1 -1
- package/dist/web/feed-item.d.ts +4 -39
- package/dist/web/feed-item.d.ts.map +1 -1
- package/dist/web/feed-item.js +8 -72
- package/dist/web/feed-item.js.map +1 -1
- package/dist/web/feed-json.js +2 -2
- package/dist/web/feed-json.js.map +1 -1
- package/dist/web/feed-routes.d.ts +36 -0
- package/dist/web/feed-routes.d.ts.map +1 -0
- package/dist/web/feed-routes.js +124 -0
- package/dist/web/feed-routes.js.map +1 -0
- package/dist/web/feed-rss.d.ts.map +1 -1
- package/dist/web/feed-rss.js +9 -6
- package/dist/web/feed-rss.js.map +1 -1
- package/dist/web/feed-source.d.ts +11 -41
- package/dist/web/feed-source.d.ts.map +1 -1
- package/dist/web/feed-source.js +11 -48
- package/dist/web/feed-source.js.map +1 -1
- package/dist/web/feeds.d.ts +4 -2
- package/dist/web/feeds.d.ts.map +1 -1
- package/dist/web/feeds.js +8 -5
- package/dist/web/feeds.js.map +1 -1
- package/dist/web/health.d.ts +1 -1
- package/dist/web/health.d.ts.map +1 -1
- package/dist/web/index.d.ts +53 -29
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +37 -18
- package/dist/web/index.js.map +1 -1
- package/dist/{indieauth/activity-log.d.ts → web/indieauth-activity-log.d.ts} +3 -3
- package/dist/web/indieauth-activity-log.d.ts.map +1 -0
- package/dist/{indieauth/activity-log.js → web/indieauth-activity-log.js} +5 -6
- package/dist/web/indieauth-activity-log.js.map +1 -0
- package/dist/{indieauth/bearer.d.ts → web/indieauth-bearer.d.ts} +5 -5
- package/dist/web/indieauth-bearer.d.ts.map +1 -0
- package/dist/{indieauth/bearer.js → web/indieauth-bearer.js} +4 -4
- package/dist/web/indieauth-bearer.js.map +1 -0
- package/dist/{indieauth/discovery.d.ts → web/indieauth-discovery.d.ts} +2 -7
- package/dist/web/indieauth-discovery.d.ts.map +1 -0
- package/dist/{indieauth/discovery.js → web/indieauth-discovery.js} +6 -9
- package/dist/web/indieauth-discovery.js.map +1 -0
- package/dist/{indieauth/token.d.ts → web/indieauth-token.d.ts} +2 -2
- package/dist/web/indieauth-token.d.ts.map +1 -0
- package/dist/{indieauth/token.js → web/indieauth-token.js} +7 -7
- package/dist/web/indieauth-token.js.map +1 -0
- package/dist/web/listing-pages.d.ts +19 -0
- package/dist/web/listing-pages.d.ts.map +1 -0
- package/dist/web/listing-pages.js +148 -0
- package/dist/web/listing-pages.js.map +1 -0
- package/dist/web/listing-subject.d.ts +58 -0
- package/dist/web/listing-subject.d.ts.map +1 -0
- package/dist/web/listing-subject.js +89 -0
- package/dist/web/listing-subject.js.map +1 -0
- package/dist/web/llms.d.ts +16 -15
- package/dist/web/llms.d.ts.map +1 -1
- package/dist/web/llms.js +23 -35
- package/dist/web/llms.js.map +1 -1
- package/dist/web/maintenance.d.ts +1 -1
- package/dist/web/maintenance.d.ts.map +1 -1
- package/dist/web/maintenance.js +7 -13
- package/dist/web/maintenance.js.map +1 -1
- package/dist/web/manifest.d.ts +1 -1
- package/dist/web/manifest.d.ts.map +1 -1
- package/dist/web/manifest.js +2 -1
- package/dist/web/manifest.js.map +1 -1
- package/dist/web/markdown-page.d.ts +76 -0
- package/dist/web/markdown-page.d.ts.map +1 -0
- package/dist/web/markdown-page.js +79 -0
- package/dist/web/markdown-page.js.map +1 -0
- package/dist/web/markdown-representation.d.ts +15 -0
- package/dist/web/markdown-representation.d.ts.map +1 -0
- package/dist/web/markdown-representation.js +130 -0
- package/dist/web/markdown-representation.js.map +1 -0
- package/dist/web/negotiate.d.ts +5 -12
- package/dist/web/negotiate.d.ts.map +1 -1
- package/dist/web/negotiate.js +11 -18
- package/dist/web/negotiate.js.map +1 -1
- package/dist/{notifications/routes.d.ts → web/notification-routes.d.ts} +2 -2
- package/dist/web/notification-routes.d.ts.map +1 -0
- package/dist/{notifications/routes.js → web/notification-routes.js} +24 -29
- package/dist/web/notification-routes.js.map +1 -0
- package/dist/web/oembed.d.ts +2 -2
- package/dist/web/oembed.d.ts.map +1 -1
- package/dist/web/oembed.js +5 -4
- package/dist/web/oembed.js.map +1 -1
- package/dist/web/opensearch.d.ts.map +1 -1
- package/dist/web/opensearch.js +2 -1
- package/dist/web/opensearch.js.map +1 -1
- package/dist/web/page-sources.d.ts +15 -0
- package/dist/web/page-sources.d.ts.map +1 -0
- package/dist/web/page-sources.js +44 -0
- package/dist/web/page-sources.js.map +1 -0
- package/dist/web/pagination.d.ts +1 -0
- package/dist/web/pagination.d.ts.map +1 -1
- package/dist/web/pagination.js +4 -1
- package/dist/web/pagination.js.map +1 -1
- package/dist/web/paths.d.ts +52 -0
- package/dist/web/paths.d.ts.map +1 -0
- package/dist/web/paths.js +208 -0
- package/dist/web/paths.js.map +1 -0
- package/dist/web/pingback-routes.d.ts +5 -0
- package/dist/web/pingback-routes.d.ts.map +1 -0
- package/dist/web/pingback-routes.js +100 -0
- package/dist/web/pingback-routes.js.map +1 -0
- package/dist/{plugins/federation.d.ts → web/plugin-federation.d.ts} +3 -3
- package/dist/web/plugin-federation.d.ts.map +1 -0
- package/dist/{plugins/federation.js → web/plugin-federation.js} +5 -5
- package/dist/web/plugin-federation.js.map +1 -0
- package/dist/{plugins/mount.d.ts → web/plugin-routes.d.ts} +3 -3
- package/dist/web/plugin-routes.d.ts.map +1 -0
- package/dist/{plugins/mount.js → web/plugin-routes.js} +2 -2
- package/dist/web/plugin-routes.js.map +1 -0
- package/dist/web/redirects.d.ts +1 -84
- package/dist/web/redirects.d.ts.map +1 -1
- package/dist/web/redirects.js +0 -232
- package/dist/web/redirects.js.map +1 -1
- package/dist/web/render.d.ts +43 -7
- package/dist/web/render.d.ts.map +1 -1
- package/dist/web/render.js +96 -48
- package/dist/web/render.js.map +1 -1
- package/dist/web/request.d.ts +44 -0
- package/dist/web/request.d.ts.map +1 -0
- package/dist/web/request.js +82 -0
- package/dist/web/request.js.map +1 -0
- package/dist/web/robots.d.ts +1 -46
- package/dist/web/robots.d.ts.map +1 -1
- package/dist/web/robots.js +5 -131
- package/dist/web/robots.js.map +1 -1
- package/dist/web/routes.d.ts +5 -39
- package/dist/web/routes.d.ts.map +1 -1
- package/dist/web/routes.js +98 -1369
- package/dist/web/routes.js.map +1 -1
- package/dist/web/search.d.ts.map +1 -1
- package/dist/web/search.js +2 -9
- package/dist/web/search.js.map +1 -1
- package/dist/{admin → web}/session.d.ts +1 -5
- package/dist/web/session.d.ts.map +1 -0
- package/dist/{admin → web}/session.js +0 -4
- package/dist/web/session.js.map +1 -0
- package/dist/web/share-image.d.ts.map +1 -1
- package/dist/web/share-image.js +3 -2
- package/dist/web/share-image.js.map +1 -1
- package/dist/web/signed-in.d.ts +27 -0
- package/dist/web/signed-in.d.ts.map +1 -0
- package/dist/web/signed-in.js +45 -0
- package/dist/web/signed-in.js.map +1 -0
- package/dist/web/site-index.d.ts +13 -0
- package/dist/web/site-index.d.ts.map +1 -0
- package/dist/web/site-index.js +143 -0
- package/dist/web/site-index.js.map +1 -0
- package/dist/web/site-view.d.ts +45 -0
- package/dist/web/site-view.d.ts.map +1 -0
- package/dist/web/site-view.js +67 -0
- package/dist/web/site-view.js.map +1 -0
- package/dist/web/sitemap.d.ts.map +1 -1
- package/dist/web/sitemap.js +5 -7
- package/dist/web/sitemap.js.map +1 -1
- package/dist/{admin → web}/throttle.d.ts +3 -4
- package/dist/web/throttle.d.ts.map +1 -0
- package/dist/{admin → web}/throttle.js +1 -2
- package/dist/web/throttle.js.map +1 -0
- package/dist/web/webmention-routes.d.ts +11 -0
- package/dist/web/webmention-routes.d.ts.map +1 -0
- package/dist/web/webmention-routes.js +51 -0
- package/dist/web/webmention-routes.js.map +1 -0
- package/dist/web/well-known.d.ts +2 -2
- package/dist/web/well-known.d.ts.map +1 -1
- package/dist/web/well-known.js +5 -14
- package/dist/web/well-known.js.map +1 -1
- package/dist/webmention/cited-picture.d.ts +1 -2
- package/dist/webmention/cited-picture.d.ts.map +1 -1
- package/dist/webmention/cited-picture.js +4 -6
- package/dist/webmention/cited-picture.js.map +1 -1
- package/dist/webmention/discovery.d.ts +2 -13
- package/dist/webmention/discovery.d.ts.map +1 -1
- package/dist/webmention/discovery.js +18 -73
- package/dist/webmention/discovery.js.map +1 -1
- package/dist/webmention/endpoint.d.ts +27 -0
- package/dist/webmention/endpoint.d.ts.map +1 -0
- package/dist/webmention/endpoint.js +26 -0
- package/dist/webmention/endpoint.js.map +1 -0
- package/dist/webmention/fetch-public.d.ts +18 -1
- package/dist/webmention/fetch-public.d.ts.map +1 -1
- package/dist/webmention/fetch-public.js +57 -23
- package/dist/webmention/fetch-public.js.map +1 -1
- package/dist/webmention/index.d.ts +11 -9
- package/dist/webmention/index.d.ts.map +1 -1
- package/dist/webmention/index.js +7 -6
- package/dist/webmention/index.js.map +1 -1
- package/dist/webmention/links.d.ts +0 -55
- package/dist/webmention/links.d.ts.map +1 -1
- package/dist/webmention/links.js +2 -185
- package/dist/webmention/links.js.map +1 -1
- package/dist/webmention/microformats.d.ts +1 -1
- package/dist/webmention/microformats.d.ts.map +1 -1
- package/dist/webmention/microformats.js +1 -1
- package/dist/webmention/microformats.js.map +1 -1
- package/dist/webmention/pingback.d.ts +12 -4
- package/dist/webmention/pingback.d.ts.map +1 -1
- package/dist/webmention/pingback.js +4 -102
- package/dist/webmention/pingback.js.map +1 -1
- package/dist/webmention/receive.d.ts +7 -4
- package/dist/webmention/receive.d.ts.map +1 -1
- package/dist/webmention/receive.js +30 -38
- package/dist/webmention/receive.js.map +1 -1
- package/dist/webmention/reply-context/fediverse.d.ts +29 -0
- package/dist/webmention/reply-context/fediverse.d.ts.map +1 -0
- package/dist/webmention/reply-context/fediverse.js +59 -0
- package/dist/webmention/reply-context/fediverse.js.map +1 -0
- package/dist/webmention/reply-context/json-ld.d.ts +5 -0
- package/dist/webmention/reply-context/json-ld.d.ts.map +1 -0
- package/dist/webmention/reply-context/json-ld.js +78 -0
- package/dist/webmention/reply-context/json-ld.js.map +1 -0
- package/dist/webmention/reply-context/oembed.d.ts +21 -0
- package/dist/webmention/reply-context/oembed.d.ts.map +1 -0
- package/dist/webmention/reply-context/oembed.js +137 -0
- package/dist/webmention/reply-context/oembed.js.map +1 -0
- package/dist/webmention/reply-context/page.d.ts +30 -0
- package/dist/webmention/reply-context/page.d.ts.map +1 -0
- package/dist/webmention/reply-context/page.js +134 -0
- package/dist/webmention/reply-context/page.js.map +1 -0
- package/dist/webmention/reply-context/source.d.ts +29 -0
- package/dist/webmention/reply-context/source.d.ts.map +1 -0
- package/dist/webmention/reply-context/source.js +46 -0
- package/dist/webmention/reply-context/source.js.map +1 -0
- package/dist/webmention/reply-context.d.ts +5 -34
- package/dist/webmention/reply-context.d.ts.map +1 -1
- package/dist/webmention/reply-context.js +9 -432
- package/dist/webmention/reply-context.js.map +1 -1
- package/dist/webmention/reply-contexts.d.ts +3 -3
- package/dist/webmention/reply-contexts.d.ts.map +1 -1
- package/dist/webmention/reply-contexts.js +7 -10
- package/dist/webmention/reply-contexts.js.map +1 -1
- package/dist/webmention/routes.d.ts +1 -1
- package/dist/webmention/routes.d.ts.map +1 -1
- package/dist/webmention/routes.js +5 -8
- package/dist/webmention/routes.js.map +1 -1
- package/dist/webmention/service.d.ts +7 -7
- package/dist/webmention/service.d.ts.map +1 -1
- package/dist/webmention/service.js +49 -61
- package/dist/webmention/service.js.map +1 -1
- package/dist/webmention/syndication.d.ts +3 -26
- package/dist/webmention/syndication.d.ts.map +1 -1
- package/dist/webmention/syndication.js +6 -20
- package/dist/webmention/syndication.js.map +1 -1
- package/package.json +5 -1
- package/themes/default/README.md +36 -2339
- package/themes/default/layouts/base.njk +5 -4
- package/themes/default/layouts/front-page.njk +4 -3
- package/themes/default/layouts/page.njk +2 -0
- package/themes/default/partials/comment-form.njk +1 -1
- package/themes/default/partials/contact-form.njk +1 -2
- package/themes/default/partials/conversation.njk +1 -2
- package/themes/default/partials/markdown-footer.md.njk +24 -0
- package/themes/default/partials/markdown-header.md.njk +31 -0
- package/themes/default/src/style.css +6 -6
- package/dist/admin/accounts.d.ts.map +0 -1
- package/dist/admin/accounts.js.map +0 -1
- package/dist/admin/admin-theme.d.ts.map +0 -1
- package/dist/admin/admin-theme.js.map +0 -1
- package/dist/admin/enclosure-field.d.ts.map +0 -1
- package/dist/admin/enclosure-field.js.map +0 -1
- package/dist/admin/event-field.d.ts.map +0 -1
- package/dist/admin/event-field.js.map +0 -1
- package/dist/admin/location-field.d.ts +0 -27
- package/dist/admin/location-field.d.ts.map +0 -1
- package/dist/admin/location-field.js.map +0 -1
- package/dist/admin/passwords.d.ts.map +0 -1
- package/dist/admin/passwords.js.map +0 -1
- package/dist/admin/photo-field.d.ts +0 -38
- package/dist/admin/photo-field.d.ts.map +0 -1
- package/dist/admin/photo-field.js.map +0 -1
- package/dist/admin/read-field.d.ts.map +0 -1
- package/dist/admin/read-field.js +0 -61
- package/dist/admin/read-field.js.map +0 -1
- package/dist/admin/session.d.ts.map +0 -1
- package/dist/admin/session.js.map +0 -1
- package/dist/admin/store.d.ts +0 -1025
- package/dist/admin/store.d.ts.map +0 -1
- package/dist/admin/store.js +0 -1628
- package/dist/admin/store.js.map +0 -1
- package/dist/admin/throttle.d.ts.map +0 -1
- package/dist/admin/throttle.js.map +0 -1
- package/dist/avatars/routes.d.ts.map +0 -1
- package/dist/avatars/routes.js.map +0 -1
- package/dist/contact/routes.d.ts.map +0 -1
- package/dist/contact/routes.js.map +0 -1
- package/dist/env.d.ts.map +0 -1
- package/dist/env.js.map +0 -1
- package/dist/federation/replies.d.ts.map +0 -1
- package/dist/federation/replies.js.map +0 -1
- package/dist/images/alt-text.d.ts.map +0 -1
- package/dist/images/alt-text.js.map +0 -1
- package/dist/indieauth/activity-log.d.ts.map +0 -1
- package/dist/indieauth/activity-log.js.map +0 -1
- package/dist/indieauth/app-activity.d.ts.map +0 -1
- package/dist/indieauth/app-activity.js.map +0 -1
- package/dist/indieauth/bearer.d.ts.map +0 -1
- package/dist/indieauth/bearer.js.map +0 -1
- package/dist/indieauth/client-id.d.ts.map +0 -1
- package/dist/indieauth/client-id.js.map +0 -1
- package/dist/indieauth/connected-apps.d.ts.map +0 -1
- package/dist/indieauth/connected-apps.js.map +0 -1
- package/dist/indieauth/consent.d.ts.map +0 -1
- package/dist/indieauth/consent.js.map +0 -1
- package/dist/indieauth/discovery.d.ts.map +0 -1
- package/dist/indieauth/discovery.js.map +0 -1
- package/dist/indieauth/token.d.ts.map +0 -1
- package/dist/indieauth/token.js.map +0 -1
- package/dist/mail/service.d.ts.map +0 -1
- package/dist/mail/service.js.map +0 -1
- package/dist/mail/templates.d.ts.map +0 -1
- package/dist/mail/templates.js.map +0 -1
- package/dist/notifications/preferences.d.ts.map +0 -1
- package/dist/notifications/preferences.js.map +0 -1
- package/dist/notifications/routes.d.ts.map +0 -1
- package/dist/notifications/routes.js.map +0 -1
- package/dist/plugins/federation.d.ts.map +0 -1
- package/dist/plugins/federation.js.map +0 -1
- package/dist/plugins/mount.d.ts.map +0 -1
- package/dist/plugins/mount.js.map +0 -1
- package/dist/privacy/policy.d.ts.map +0 -1
- package/dist/privacy/policy.js.map +0 -1
- package/dist/web/admin-bar.d.ts.map +0 -1
- package/dist/web/admin-bar.js.map +0 -1
- package/dist/web/assets.d.ts.map +0 -1
- package/dist/web/assets.js.map +0 -1
- package/dist/web/authors.d.ts.map +0 -1
- package/dist/web/authors.js +0 -211
- package/dist/web/authors.js.map +0 -1
- package/dist/web/documents.d.ts +0 -81
- package/dist/web/documents.d.ts.map +0 -1
- package/dist/web/documents.js.map +0 -1
- package/dist/web/errors.d.ts.map +0 -1
- package/dist/web/errors.js.map +0 -1
- package/dist/web/guids.d.ts.map +0 -1
- package/dist/web/guids.js.map +0 -1
- package/dist/web/indexnow.d.ts.map +0 -1
- package/dist/web/indexnow.js.map +0 -1
- package/dist/web/license.d.ts.map +0 -1
- package/dist/web/license.js.map +0 -1
- package/dist/web/locale.d.ts.map +0 -1
- package/dist/web/locale.js.map +0 -1
- package/dist/web/navigation.d.ts.map +0 -1
- package/dist/web/navigation.js.map +0 -1
- package/dist/web/recent.d.ts +0 -43
- package/dist/web/recent.d.ts.map +0 -1
- package/dist/web/recent.js +0 -37
- package/dist/web/recent.js.map +0 -1
- package/dist/web/sanitize.d.ts +0 -29
- package/dist/web/sanitize.d.ts.map +0 -1
- package/dist/web/sanitize.js.map +0 -1
- package/dist/web/taxonomy.d.ts.map +0 -1
- package/dist/web/taxonomy.js.map +0 -1
- package/dist/web/templates.d.ts.map +0 -1
- package/dist/web/templates.js.map +0 -1
- package/dist/web/themes.d.ts.map +0 -1
- package/dist/web/themes.js.map +0 -1
- package/dist/webmention/html.d.ts.map +0 -1
- package/dist/webmention/html.js.map +0 -1
- package/dist/webmention/public-address.d.ts.map +0 -1
- package/dist/webmention/public-address.js.map +0 -1
- /package/dist/{web → content}/license.d.ts +0 -0
- /package/dist/{web → content}/license.js +0 -0
- /package/dist/{admin → site}/admin-theme.d.ts +0 -0
- /package/dist/{admin → site}/admin-theme.js +0 -0
- /package/dist/{admin → site}/passwords.d.ts +0 -0
- /package/dist/{admin → site}/passwords.js +0 -0
- /package/dist/{indieauth → util}/client-id.d.ts +0 -0
- /package/dist/{indieauth → util}/client-id.js +0 -0
- /package/dist/{webmention → util}/public-address.d.ts +0 -0
- /package/dist/{webmention → util}/public-address.js +0 -0
- /package/dist/{env.js → web/env.js} +0 -0
package/dist/cli.js
CHANGED
|
@@ -1,28 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
3
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
4
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
5
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
6
|
-
});
|
|
7
|
-
}
|
|
8
|
-
return path;
|
|
9
|
-
};
|
|
10
2
|
import cluster from 'node:cluster';
|
|
11
3
|
import { existsSync, realpathSync } from 'node:fs';
|
|
12
|
-
import { createRequire } from 'node:module';
|
|
13
4
|
import path from 'node:path';
|
|
14
5
|
import { createInterface } from 'node:readline';
|
|
15
6
|
import { DatabaseSync } from 'node:sqlite';
|
|
16
7
|
import { Writable } from 'node:stream';
|
|
17
8
|
import { pathToFileURL } from 'node:url';
|
|
18
|
-
import { createUser, DuplicateUsernameError, migrateUsersToFile } from './admin/accounts.js';
|
|
19
9
|
import { credentialProblem, emailProblem } from './admin/credentials.js';
|
|
20
|
-
import {
|
|
10
|
+
import { migrateUsersToFile } from './admin/legacy-migrations.js';
|
|
11
|
+
import { adminStoreOwning, openAdminDatabase } from './store/admin-store.js';
|
|
21
12
|
import { databaseFile, discardDatabase } from './cache.js';
|
|
22
|
-
import {
|
|
23
|
-
import { migrateCommentEmails, migrateCommentKeys } from './comments/
|
|
13
|
+
import { CONFIG_FILENAMES, loadResolvedConfig } from './config-loader.js';
|
|
14
|
+
import { migrateCommentEmails, migrateCommentKeys } from './comments/migrations.js';
|
|
24
15
|
import { stripStoredUploads } from './content/metadata/sweep.js';
|
|
25
|
-
import {
|
|
16
|
+
import { createUser, DuplicateUsernameError } from './site/users.js';
|
|
17
|
+
import { UPLOAD_DIRECTORY } from './content/uploads.js';
|
|
26
18
|
import { createCms } from './index.js';
|
|
27
19
|
import { initSite, ownManifest, seedStarterContent } from './init.js';
|
|
28
20
|
import { importPluginFolders, scanPluginFolders } from './plugins/folder.js';
|
|
@@ -34,19 +26,151 @@ import { superviseCluster } from './supervisor/primary.js';
|
|
|
34
26
|
import { processChannel, superviseWorker } from './supervisor/worker.js';
|
|
35
27
|
import { enterMaintenance, leaveMaintenance, maintenanceFile, readMaintenance, } from './maintenance.js';
|
|
36
28
|
import { devModeOn, enterDevMode, leaveDevMode } from './dev-mode.js';
|
|
37
|
-
|
|
38
|
-
const COMMANDS =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
29
|
+
import { messageOf } from './util/errors.js';
|
|
30
|
+
const COMMANDS = {
|
|
31
|
+
serve: {
|
|
32
|
+
synopsis: ['[serve] [--config <file>]'],
|
|
33
|
+
help: [['serve', ['Start the CMS (the default when no command is given).']]],
|
|
34
|
+
run: serveCommand,
|
|
35
|
+
},
|
|
36
|
+
init: {
|
|
37
|
+
synopsis: ['init <directory>'],
|
|
38
|
+
help: [['init', ['Create a new site in <directory>.']]],
|
|
39
|
+
run: initCommand,
|
|
40
|
+
},
|
|
41
|
+
sync: {
|
|
42
|
+
synopsis: ['sync [--config <file>]'],
|
|
43
|
+
help: [['sync', ['Rebuild the content index once and exit.']]],
|
|
44
|
+
run: syncCommand,
|
|
45
|
+
},
|
|
46
|
+
rebuild: {
|
|
47
|
+
synopsis: ['rebuild [--config <file>]'],
|
|
48
|
+
help: [
|
|
49
|
+
[
|
|
50
|
+
'rebuild',
|
|
51
|
+
[
|
|
52
|
+
'Delete data/geekity.db and build it again from the files.',
|
|
53
|
+
'Everything in it is derived, so this is always safe with the',
|
|
54
|
+
'site stopped; sessions and delivery outcomes start empty.',
|
|
55
|
+
],
|
|
56
|
+
],
|
|
57
|
+
],
|
|
58
|
+
run: rebuildCommand,
|
|
59
|
+
},
|
|
60
|
+
resend: {
|
|
61
|
+
synopsis: ['resend (--all | <slug>...) [--config <file>]'],
|
|
62
|
+
help: [
|
|
63
|
+
[
|
|
64
|
+
'resend',
|
|
65
|
+
[
|
|
66
|
+
'Send announced posts to every follower and relay again, as',
|
|
67
|
+
'they read now: an Update for a post still published, a',
|
|
68
|
+
'Delete for one withdrawn. --all resends every post the site',
|
|
69
|
+
'has announced; this is how posts federated before a new',
|
|
70
|
+
'federation feature (such as quote posts) pick it up.',
|
|
71
|
+
],
|
|
72
|
+
],
|
|
73
|
+
],
|
|
74
|
+
run: resendCommand,
|
|
75
|
+
},
|
|
76
|
+
maintenance: {
|
|
77
|
+
synopsis: ['maintenance (on [--until <time>] | off | status) [--config <file>]'],
|
|
78
|
+
help: [
|
|
79
|
+
[
|
|
80
|
+
'maintenance',
|
|
81
|
+
[
|
|
82
|
+
'Take the public site down on purpose, or bring it back.',
|
|
83
|
+
'While on, pages, feeds, sitemaps and inbox deliveries answer',
|
|
84
|
+
'503 with Retry-After; the admin, /healthz and signed-in',
|
|
85
|
+
'users are let through. A running site notices within a',
|
|
86
|
+
'second, with no restart.',
|
|
87
|
+
],
|
|
88
|
+
],
|
|
89
|
+
],
|
|
90
|
+
run: maintenanceCommand,
|
|
91
|
+
},
|
|
92
|
+
'dev-mode': {
|
|
93
|
+
synopsis: ['dev-mode (on | off | status) [--config <file>]'],
|
|
94
|
+
help: [
|
|
95
|
+
[
|
|
96
|
+
'dev-mode',
|
|
97
|
+
[
|
|
98
|
+
'Hold everything the site would send to the outside world',
|
|
99
|
+
'(ActivityPub deliveries and relay follows, webmentions,',
|
|
100
|
+
'rssCloud and WebSub pings, IndexNow, email) while it is',
|
|
101
|
+
'built or migrated, and record each one in',
|
|
102
|
+
'data/dev-mode.jsonl. off takes the site live: nothing held',
|
|
103
|
+
'is sent then, and the record says when it went live.',
|
|
104
|
+
],
|
|
105
|
+
],
|
|
106
|
+
],
|
|
107
|
+
run: devModeCommand,
|
|
108
|
+
},
|
|
109
|
+
'strip-metadata': {
|
|
110
|
+
synopsis: ['strip-metadata [--config <file>]'],
|
|
111
|
+
help: [
|
|
112
|
+
[
|
|
113
|
+
'strip-metadata',
|
|
114
|
+
[
|
|
115
|
+
'Remove location and camera metadata (EXIF, XMP, IPTC, a',
|
|
116
|
+
"video's location) from files already in content/uploads.",
|
|
117
|
+
'New uploads are stripped as they arrive; this is for the',
|
|
118
|
+
'ones from before. Safe to run again: a clean file is left',
|
|
119
|
+
'as it is.',
|
|
120
|
+
],
|
|
121
|
+
],
|
|
122
|
+
],
|
|
123
|
+
run: stripMetadataCommand,
|
|
124
|
+
},
|
|
125
|
+
user: {
|
|
126
|
+
synopsis: ['user add <username> [--password <pw>] [--email <address>] [--config <file>]'],
|
|
127
|
+
help: [
|
|
128
|
+
[
|
|
129
|
+
'user add',
|
|
130
|
+
['Create an admin user, so a site can get its first login', 'without the setup screen.'],
|
|
131
|
+
],
|
|
132
|
+
],
|
|
133
|
+
run: userCommand,
|
|
134
|
+
},
|
|
135
|
+
plugin: {
|
|
136
|
+
synopsis: [
|
|
137
|
+
'plugin (add <package>[@version] | remove <package>) [--config <file>]',
|
|
138
|
+
'plugin upgrade [<package>...] [--check] [--config <file>]',
|
|
139
|
+
],
|
|
140
|
+
help: [
|
|
141
|
+
[
|
|
142
|
+
'plugin add',
|
|
143
|
+
[
|
|
144
|
+
"Install a plugin package's bundle from the npm registry",
|
|
145
|
+
'(npm_config_registry, or registry.npmjs.org) into the',
|
|
146
|
+
'plugins folder, GEEKITY_PLUGINS_DIR. It installs only the',
|
|
147
|
+
'package named, and names any plugin it requires that is',
|
|
148
|
+
'missing. Reload on the Plugins screen loads it.',
|
|
149
|
+
],
|
|
150
|
+
],
|
|
151
|
+
[
|
|
152
|
+
'plugin remove',
|
|
153
|
+
[
|
|
154
|
+
"Delete a plugin's folder from the plugins folder. Reload on",
|
|
155
|
+
'the Plugins screen unloads it. It refuses a plugin the site',
|
|
156
|
+
'has enabled: disable it first.',
|
|
157
|
+
],
|
|
158
|
+
],
|
|
159
|
+
[
|
|
160
|
+
'plugin upgrade',
|
|
161
|
+
[
|
|
162
|
+
'Bring each plugin in the plugins folder, or only the ones',
|
|
163
|
+
'named, up to its newest version that this core and the',
|
|
164
|
+
'other installed plugins can run, installed as plugin add',
|
|
165
|
+
'installs one. Plugins that must move together do. It says,',
|
|
166
|
+
'for each plugin, what it upgraded, or why it held a newer',
|
|
167
|
+
'version back. --check reports and installs nothing.',
|
|
168
|
+
],
|
|
169
|
+
],
|
|
170
|
+
],
|
|
171
|
+
run: pluginFolderCommand,
|
|
172
|
+
},
|
|
173
|
+
};
|
|
50
174
|
/**
|
|
51
175
|
* The options one command reads out of {@link ParsedArgs.flags}, each of which
|
|
52
176
|
* carries a value.
|
|
@@ -54,68 +178,7 @@ const COMMANDS = [
|
|
|
54
178
|
const VALUE_FLAGS = ['until'];
|
|
55
179
|
/** The options that are simply on or off. */
|
|
56
180
|
const SWITCH_FLAGS = ['all', 'check'];
|
|
57
|
-
const
|
|
58
|
-
const USAGE = `geekity — the Geekity CMS command line
|
|
59
|
-
|
|
60
|
-
Usage:
|
|
61
|
-
geekity [serve] [--config <file>]
|
|
62
|
-
geekity init <directory>
|
|
63
|
-
geekity sync [--config <file>]
|
|
64
|
-
geekity rebuild [--config <file>]
|
|
65
|
-
geekity resend (--all | <slug>...) [--config <file>]
|
|
66
|
-
geekity maintenance (on [--until <time>] | off | status) [--config <file>]
|
|
67
|
-
geekity dev-mode (on | off | status) [--config <file>]
|
|
68
|
-
geekity strip-metadata [--config <file>]
|
|
69
|
-
geekity user add <username> [--password <pw>] [--email <address>] [--config <file>]
|
|
70
|
-
geekity plugin (add <package>[@version] | remove <package>) [--config <file>]
|
|
71
|
-
geekity plugin upgrade [<package>...] [--check] [--config <file>]
|
|
72
|
-
|
|
73
|
-
Commands:
|
|
74
|
-
serve Start the CMS (the default when no command is given).
|
|
75
|
-
init Create a new site in <directory>.
|
|
76
|
-
sync Rebuild the content index once and exit.
|
|
77
|
-
rebuild Delete data/geekity.db and build it again from the files.
|
|
78
|
-
Everything in it is derived, so this is always safe with the
|
|
79
|
-
site stopped; sessions and delivery outcomes start empty.
|
|
80
|
-
resend Send announced posts to every follower and relay again, as
|
|
81
|
-
they read now: an Update for a post still published, a
|
|
82
|
-
Delete for one withdrawn. --all resends every post the site
|
|
83
|
-
has announced; this is how posts federated before a new
|
|
84
|
-
federation feature (such as quote posts) pick it up.
|
|
85
|
-
maintenance Take the public site down on purpose, or bring it back.
|
|
86
|
-
While on, pages, feeds, sitemaps and inbox deliveries answer
|
|
87
|
-
503 with Retry-After; the admin, /healthz and signed-in
|
|
88
|
-
users are let through. A running site notices within a
|
|
89
|
-
second, with no restart.
|
|
90
|
-
dev-mode Hold everything the site would send to the outside world
|
|
91
|
-
(ActivityPub deliveries and relay follows, webmentions,
|
|
92
|
-
rssCloud and WebSub pings, IndexNow, email) while it is
|
|
93
|
-
built or migrated, and record each one in
|
|
94
|
-
data/dev-mode.jsonl. off takes the site live: nothing held
|
|
95
|
-
is sent then, and the record says when it went live.
|
|
96
|
-
strip-metadata Remove location and camera metadata (EXIF, XMP, IPTC, a
|
|
97
|
-
video's location) from files already in content/uploads.
|
|
98
|
-
New uploads are stripped as they arrive; this is for the
|
|
99
|
-
ones from before. Safe to run again: a clean file is left
|
|
100
|
-
as it is.
|
|
101
|
-
user add Create an admin user, so a site can get its first login
|
|
102
|
-
without the setup screen.
|
|
103
|
-
plugin add Install a plugin package's bundle from the npm registry
|
|
104
|
-
(npm_config_registry, or registry.npmjs.org) into the
|
|
105
|
-
plugins folder, GEEKITY_PLUGINS_DIR. It installs only the
|
|
106
|
-
package named, and names any plugin it requires that is
|
|
107
|
-
missing. Reload on the Plugins screen loads it.
|
|
108
|
-
plugin remove Delete a plugin's folder from the plugins folder. Reload on
|
|
109
|
-
the Plugins screen unloads it. It refuses a plugin the site
|
|
110
|
-
has enabled: disable it first.
|
|
111
|
-
plugin upgrade Bring each plugin in the plugins folder, or only the ones
|
|
112
|
-
named, up to its newest version that this core and the
|
|
113
|
-
other installed plugins can run, installed as plugin add
|
|
114
|
-
installs one. Plugins that must move together do. It says,
|
|
115
|
-
for each plugin, what it upgraded, or why it held a newer
|
|
116
|
-
version back. --check reports and installs nothing.
|
|
117
|
-
|
|
118
|
-
Options:
|
|
181
|
+
const OPTIONS_HELP = `Options:
|
|
119
182
|
--config <file> Config file to load. Defaults to the first of
|
|
120
183
|
${CONFIG_FILENAMES.join(', ')} found in the working directory.
|
|
121
184
|
--password <pw> The new user's password. Left off, it is asked for without
|
|
@@ -247,105 +310,7 @@ export function parseArgs(argv) {
|
|
|
247
310
|
return { command: command ?? 'serve', configPath, password, email, flags, args };
|
|
248
311
|
}
|
|
249
312
|
function isCommand(value) {
|
|
250
|
-
return
|
|
251
|
-
}
|
|
252
|
-
/** Extensions that need TypeScript support in the loader. */
|
|
253
|
-
const TYPESCRIPT_EXTENSIONS = new Set(['.ts', '.mts', '.cts']);
|
|
254
|
-
/**
|
|
255
|
-
* Load a config module, returning `{}` when the site has no config file.
|
|
256
|
-
*
|
|
257
|
-
* A TypeScript config is imported directly first. That is all it takes on Node
|
|
258
|
-
* 24, which strips types without a flag, and inside this repository, where
|
|
259
|
-
* the CLI already runs under tsx. A Node started with stripping disabled — and
|
|
260
|
-
* any file carrying TypeScript syntax that stripping cannot erase — falls back to
|
|
261
|
-
* registering tsx from the *site's* own dependencies, which is where a site
|
|
262
|
-
* scaffolded by `geekity init` has it. A site with neither writes
|
|
263
|
-
* `geekity.config.js` instead; it is in the candidate list for exactly that.
|
|
264
|
-
*/
|
|
265
|
-
export async function loadConfig(cwd, configPath) {
|
|
266
|
-
const candidates = configPath === undefined
|
|
267
|
-
? CONFIG_FILENAMES.map((name) => path.resolve(cwd, name))
|
|
268
|
-
: [path.resolve(cwd, configPath)];
|
|
269
|
-
for (const candidate of candidates) {
|
|
270
|
-
const href = pathToFileURL(candidate).href;
|
|
271
|
-
let module;
|
|
272
|
-
try {
|
|
273
|
-
module = (await import(__rewriteRelativeImportExtension(href)));
|
|
274
|
-
}
|
|
275
|
-
catch (error) {
|
|
276
|
-
if (isModuleNotFound(error, candidate))
|
|
277
|
-
continue;
|
|
278
|
-
if (!needsTypeScriptLoader(error, candidate))
|
|
279
|
-
throw error;
|
|
280
|
-
await registerTypeScriptLoader(cwd, candidate);
|
|
281
|
-
module = (await import(__rewriteRelativeImportExtension(href)));
|
|
282
|
-
}
|
|
283
|
-
return module.default ?? {};
|
|
284
|
-
}
|
|
285
|
-
if (configPath !== undefined) {
|
|
286
|
-
throw new Error(`Config file not found: ${path.resolve(cwd, configPath)}`);
|
|
287
|
-
}
|
|
288
|
-
return {};
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* The site's own tsx, as the directory the package was installed into, or
|
|
292
|
-
* `undefined` when the site does not have one.
|
|
293
|
-
*
|
|
294
|
-
* Node's resolver is deliberately not asked: this has to be the tsx the *site*
|
|
295
|
-
* installed, and a resolver anchored anywhere else — or patched by a tsx that
|
|
296
|
-
* is already loaded, which is what happens inside this repository — would
|
|
297
|
-
* happily answer with somebody else's copy.
|
|
298
|
-
*/
|
|
299
|
-
export function findSiteTsx(cwd) {
|
|
300
|
-
let directory = path.resolve(cwd);
|
|
301
|
-
for (;;) {
|
|
302
|
-
const candidate = path.join(directory, 'node_modules', 'tsx');
|
|
303
|
-
if (existsSync(path.join(candidate, 'package.json')))
|
|
304
|
-
return candidate;
|
|
305
|
-
const parent = path.dirname(directory);
|
|
306
|
-
if (parent === directory)
|
|
307
|
-
return undefined;
|
|
308
|
-
directory = parent;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Teach this process to import TypeScript, using the tsx installed alongside
|
|
313
|
-
* the site.
|
|
314
|
-
*
|
|
315
|
-
* tsx is the site's rather than this package's because the CMS does not depend
|
|
316
|
-
* on it at runtime: a site that runs `server.ts` already has it, and a site
|
|
317
|
-
* that does not want it writes its config in JavaScript instead.
|
|
318
|
-
*/
|
|
319
|
-
export async function registerTypeScriptLoader(cwd, configFile) {
|
|
320
|
-
const tsx = findSiteTsx(cwd);
|
|
321
|
-
if (tsx === undefined) {
|
|
322
|
-
throw new Error(`Could not load ${configFile}: this Node cannot import TypeScript on its own and tsx is ` +
|
|
323
|
-
'not installed in this site. Either add it (pnpm add -D tsx), or write the config as ' +
|
|
324
|
-
'geekity.config.js instead.');
|
|
325
|
-
}
|
|
326
|
-
const fromTsx = createRequire(path.join(tsx, 'package.json'));
|
|
327
|
-
const api = (await import(__rewriteRelativeImportExtension(pathToFileURL(fromTsx.resolve('tsx/esm/api')).href)));
|
|
328
|
-
api.register();
|
|
329
|
-
}
|
|
330
|
-
/**
|
|
331
|
-
* Whether an import failed because the loader could not handle TypeScript.
|
|
332
|
-
*
|
|
333
|
-
* `ERR_UNKNOWN_FILE_EXTENSION` is Node before type stripping was on by
|
|
334
|
-
* default; `ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX` is a file using `enum` or
|
|
335
|
-
* `namespace`, which stripping refuses because erasing it is not enough.
|
|
336
|
-
*/
|
|
337
|
-
function needsTypeScriptLoader(error, candidate) {
|
|
338
|
-
if (!TYPESCRIPT_EXTENSIONS.has(path.extname(candidate).toLowerCase()))
|
|
339
|
-
return false;
|
|
340
|
-
const code = error?.code;
|
|
341
|
-
return code === 'ERR_UNKNOWN_FILE_EXTENSION' || code === 'ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX';
|
|
342
|
-
}
|
|
343
|
-
function isModuleNotFound(error, candidate) {
|
|
344
|
-
return (typeof error === 'object' &&
|
|
345
|
-
error !== null &&
|
|
346
|
-
'code' in error &&
|
|
347
|
-
error.code === 'ERR_MODULE_NOT_FOUND' &&
|
|
348
|
-
String(error.message ?? '').includes(candidate));
|
|
313
|
+
return Object.hasOwn(COMMANDS, value);
|
|
349
314
|
}
|
|
350
315
|
/** Run one command. Resolves with the exit code the process should use. */
|
|
351
316
|
async function main(argv) {
|
|
@@ -353,37 +318,19 @@ async function main(argv) {
|
|
|
353
318
|
if (first !== undefined && !isCommand(first) && !argv.some(isHelpOrVersion)) {
|
|
354
319
|
return await pluginCommand(argv);
|
|
355
320
|
}
|
|
356
|
-
const
|
|
357
|
-
if (command === 'help') {
|
|
358
|
-
process.stdout.write(await usage(configPath));
|
|
321
|
+
const parsed = parseArgs(argv);
|
|
322
|
+
if (parsed.command === 'help') {
|
|
323
|
+
process.stdout.write(await usage(parsed.configPath));
|
|
359
324
|
return 0;
|
|
360
325
|
}
|
|
361
|
-
if (command === 'version') {
|
|
326
|
+
if (parsed.command === 'version') {
|
|
362
327
|
process.stdout.write(`${ownManifest().version}\n`);
|
|
363
328
|
return 0;
|
|
364
329
|
}
|
|
365
|
-
|
|
366
|
-
return init(args);
|
|
367
|
-
if (command === 'user')
|
|
368
|
-
return userCommand(args, configPath, password, email);
|
|
369
|
-
if (command === 'sync')
|
|
370
|
-
return syncCommand(configPath);
|
|
371
|
-
if (command === 'rebuild')
|
|
372
|
-
return rebuildCommand(configPath);
|
|
373
|
-
if (command === 'resend')
|
|
374
|
-
return resendCommand(args, configPath, flags);
|
|
375
|
-
if (command === 'maintenance')
|
|
376
|
-
return maintenanceCommand(args, configPath, flags);
|
|
377
|
-
if (command === 'dev-mode')
|
|
378
|
-
return devModeCommand(args, configPath);
|
|
379
|
-
if (command === 'strip-metadata')
|
|
380
|
-
return stripMetadataCommand(configPath);
|
|
381
|
-
if (command === 'plugin')
|
|
382
|
-
return pluginFolderCommand(args, configPath, flags);
|
|
383
|
-
return serveCommand(configPath);
|
|
330
|
+
return COMMANDS[parsed.command].run(parsed);
|
|
384
331
|
}
|
|
385
332
|
/** `geekity init <directory>`: scaffold a new site. */
|
|
386
|
-
async function
|
|
333
|
+
async function initCommand({ args }) {
|
|
387
334
|
const directory = args[0];
|
|
388
335
|
if (directory === undefined) {
|
|
389
336
|
throw new Error('geekity init <directory> needs the directory to create.');
|
|
@@ -407,9 +354,9 @@ async function init(args) {
|
|
|
407
354
|
* Only the file under `data/` is touched, so this works the same with the
|
|
408
355
|
* site running or stopped: a running site re-reads it within a second.
|
|
409
356
|
*/
|
|
410
|
-
async function maintenanceCommand(args, configPath, flags) {
|
|
357
|
+
async function maintenanceCommand({ args, configPath, flags }) {
|
|
411
358
|
const action = args[0];
|
|
412
|
-
const config =
|
|
359
|
+
const config = await loadResolvedConfig(configPath);
|
|
413
360
|
const file = maintenanceFile(config.dataDir);
|
|
414
361
|
if (action === 'on') {
|
|
415
362
|
const until = untilFlag(text(flags, 'until'));
|
|
@@ -434,11 +381,11 @@ async function maintenanceCommand(args, configPath, flags) {
|
|
|
434
381
|
}
|
|
435
382
|
throw new Error('geekity maintenance needs on, off or status.');
|
|
436
383
|
}
|
|
437
|
-
async function devModeCommand(args, configPath) {
|
|
384
|
+
async function devModeCommand({ args, configPath }) {
|
|
438
385
|
const action = args[0];
|
|
439
|
-
const config =
|
|
386
|
+
const config = await loadResolvedConfig(configPath);
|
|
440
387
|
if (action === 'on') {
|
|
441
|
-
enterDevMode(config.dataDir, 'command');
|
|
388
|
+
enterDevMode(config.dataDir, 'command', config.now());
|
|
442
389
|
process.stdout.write('Dev mode is on: nothing the site does is sent until `geekity dev-mode off`.\n');
|
|
443
390
|
return 0;
|
|
444
391
|
}
|
|
@@ -447,7 +394,7 @@ async function devModeCommand(args, configPath) {
|
|
|
447
394
|
throw new Error('GEEKITY_DEV_MODE or the devMode setting still asks for dev mode. ' +
|
|
448
395
|
'Remove it, then run geekity dev-mode off again.');
|
|
449
396
|
}
|
|
450
|
-
const wasOn = leaveDevMode(config.dataDir);
|
|
397
|
+
const wasOn = leaveDevMode(config.dataDir, config.now());
|
|
451
398
|
process.stdout.write(wasOn
|
|
452
399
|
? 'Dev mode is off: the site is live. Nothing held while it was on will be sent.\n'
|
|
453
400
|
: 'Dev mode was already off: the site is live.\n');
|
|
@@ -476,8 +423,8 @@ function forcedLine(forced) {
|
|
|
476
423
|
? ' GEEKITY_MAINTENANCE or the maintenance setting keeps it on until the site restarts without it.'
|
|
477
424
|
: '';
|
|
478
425
|
}
|
|
479
|
-
async function stripMetadataCommand(configPath) {
|
|
480
|
-
const config =
|
|
426
|
+
async function stripMetadataCommand({ configPath }) {
|
|
427
|
+
const config = await loadResolvedConfig(configPath);
|
|
481
428
|
const results = await stripStoredUploads(path.join(config.contentDir, UPLOAD_DIRECTORY));
|
|
482
429
|
let stripped = 0;
|
|
483
430
|
let clean = 0;
|
|
@@ -505,9 +452,8 @@ async function stripMetadataCommand(configPath) {
|
|
|
505
452
|
* Watching is forced off whatever the config says, because a one-shot scan
|
|
506
453
|
* that then sat in a watcher would never exit.
|
|
507
454
|
*/
|
|
508
|
-
async function syncCommand(configPath) {
|
|
509
|
-
const
|
|
510
|
-
const cms = createCms({ ...config, watch: false });
|
|
455
|
+
async function syncCommand({ configPath }) {
|
|
456
|
+
const cms = createCms(await loadResolvedConfig(configPath, (config) => ({ ...config, watch: false })));
|
|
511
457
|
try {
|
|
512
458
|
const result = await cms.sync();
|
|
513
459
|
process.stdout.write(`Scanned ${String(result.scanned)}: ${String(result.created)} created, ` +
|
|
@@ -535,17 +481,16 @@ async function syncCommand(configPath) {
|
|
|
535
481
|
* button on the federation screen, for every post at once. Delivery runs with
|
|
536
482
|
* no queue, so each activity has been posted before the process exits.
|
|
537
483
|
*/
|
|
538
|
-
async function resendCommand(args, configPath, flags) {
|
|
484
|
+
async function resendCommand({ args, configPath, flags }) {
|
|
539
485
|
const all = flags['all'] === true;
|
|
540
486
|
if (all === args.length > 0) {
|
|
541
487
|
throw new Error('geekity resend needs either --all or the slugs of the posts to resend, and not both.');
|
|
542
488
|
}
|
|
543
|
-
const
|
|
544
|
-
const cms = createCms({
|
|
489
|
+
const cms = createCms(await loadResolvedConfig(configPath, (config) => ({
|
|
545
490
|
...config,
|
|
546
491
|
watch: false,
|
|
547
492
|
federation: { ...config.federation, queue: null },
|
|
548
|
-
});
|
|
493
|
+
})));
|
|
549
494
|
try {
|
|
550
495
|
await cms.sync();
|
|
551
496
|
const slugs = all ? cms.store.listFederated().map((document) => document.slug) : args;
|
|
@@ -590,9 +535,8 @@ async function resendCommand(args, configPath, flags) {
|
|
|
590
535
|
* Watching is forced off for the reason `sync` forces it off: a one-shot
|
|
591
536
|
* command that sat in a watcher would never exit.
|
|
592
537
|
*/
|
|
593
|
-
async function rebuildCommand(configPath) {
|
|
594
|
-
const
|
|
595
|
-
const config = resolveConfig(loaded);
|
|
538
|
+
async function rebuildCommand({ configPath }) {
|
|
539
|
+
const config = await loadResolvedConfig(configPath, (loaded) => ({ ...loaded, watch: false }));
|
|
596
540
|
const file = databaseFile(config.dataDir);
|
|
597
541
|
if (databaseInUse(config.dataDir)) {
|
|
598
542
|
process.stderr.write(`${file} is in use: something else has it open, most likely the site itself. Stop the ` +
|
|
@@ -601,7 +545,7 @@ async function rebuildCommand(configPath) {
|
|
|
601
545
|
return 1;
|
|
602
546
|
}
|
|
603
547
|
discardDatabase(config.dataDir);
|
|
604
|
-
const cms = createCms(
|
|
548
|
+
const cms = createCms(config);
|
|
605
549
|
try {
|
|
606
550
|
const result = await cms.sync();
|
|
607
551
|
process.stdout.write(`Rebuilt ${file} from the files.\n` +
|
|
@@ -689,10 +633,10 @@ const SQLITE_LOCKED = 6;
|
|
|
689
633
|
* to show and the setup screen. It happens here rather than in `createCms` so
|
|
690
634
|
* a site that builds its own server never has content written for it.
|
|
691
635
|
*/
|
|
692
|
-
async function serveCommand(configPath) {
|
|
636
|
+
async function serveCommand({ configPath }) {
|
|
693
637
|
if (cluster.isWorker)
|
|
694
638
|
return serveWorker(configPath);
|
|
695
|
-
const resolved =
|
|
639
|
+
const resolved = await loadResolvedConfig(configPath);
|
|
696
640
|
if (resolved.seedContent &&
|
|
697
641
|
(await seedStarterContent({ contentDir: resolved.contentDir, baseUrl: resolved.baseUrl }))) {
|
|
698
642
|
process.stdout.write(`Seeded ${resolved.contentDir} with the starter site\n`);
|
|
@@ -714,20 +658,26 @@ async function serveWorker(configPath) {
|
|
|
714
658
|
for (const signal of ['SIGINT', 'SIGTERM'])
|
|
715
659
|
process.on(signal, () => undefined);
|
|
716
660
|
try {
|
|
717
|
-
|
|
718
|
-
|
|
661
|
+
// The access log is on here and off in `createCms`: a server that answers
|
|
662
|
+
// the internet should be able to say what it answered, while a CMS embedded
|
|
663
|
+
// in somebody else's app has no business writing to their stdout uninvited.
|
|
664
|
+
// Named as a config value rather than forced, so `GEEKITY_ACCESS_LOG` still
|
|
665
|
+
// wins and a site that wrote `accessLog: false` still gets silence.
|
|
666
|
+
const config = await loadResolvedConfig(configPath, (site) => ({
|
|
667
|
+
...site,
|
|
668
|
+
accessLog: site.accessLog ?? true,
|
|
669
|
+
}));
|
|
670
|
+
const loaded = scanPluginFolders(config.pluginsDir);
|
|
719
671
|
const worker = superviseWorker({
|
|
720
672
|
channel,
|
|
721
673
|
loaded,
|
|
722
674
|
exit: (code) => process.exit(code),
|
|
723
675
|
log: (line) => process.stderr.write(`${line}\n`),
|
|
724
676
|
});
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
// wins and a site that wrote `accessLog: false` still gets silence.
|
|
730
|
-
const cms = createCms({ ...config, accessLog: config.accessLog ?? true }, { folderPlugins: await importPluginFolders(loaded), supervision: worker.supervision });
|
|
677
|
+
const cms = createCms(config, {
|
|
678
|
+
folderPlugins: await importPluginFolders(loaded),
|
|
679
|
+
supervision: worker.supervision,
|
|
680
|
+
});
|
|
731
681
|
const { port } = await cms.serve();
|
|
732
682
|
if (devModeOn(cms.config)) {
|
|
733
683
|
process.stdout.write('Dev mode is on: ActivityPub, webmentions, feed pings, IndexNow and email are held ' +
|
|
@@ -737,18 +687,18 @@ async function serveWorker(configPath) {
|
|
|
737
687
|
worker.serving(cms);
|
|
738
688
|
}
|
|
739
689
|
catch (error) {
|
|
740
|
-
const message =
|
|
690
|
+
const message = messageOf(error);
|
|
741
691
|
channel.send({ type: 'boot-failed', error: message }, () => process.exit(1));
|
|
742
692
|
}
|
|
743
693
|
return 0;
|
|
744
694
|
}
|
|
745
|
-
async function pluginFolderCommand(args, configPath, flags) {
|
|
695
|
+
async function pluginFolderCommand({ args, configPath, flags }) {
|
|
746
696
|
const [action, ...names] = args;
|
|
747
697
|
const spec = names.length === 1 ? names[0] : undefined;
|
|
748
698
|
if (action !== 'upgrade' && action !== 'add' && action !== 'remove') {
|
|
749
699
|
throw new Error(PLUGIN_USAGE);
|
|
750
700
|
}
|
|
751
|
-
const config =
|
|
701
|
+
const config = await loadResolvedConfig(configPath);
|
|
752
702
|
const { pluginsDir } = config;
|
|
753
703
|
if (pluginsDir === undefined) {
|
|
754
704
|
throw new Error('geekity plugin needs a plugins folder: set GEEKITY_PLUGINS_DIR, or pluginsDir in the config.');
|
|
@@ -843,7 +793,7 @@ function upgradeReportText(report) {
|
|
|
843
793
|
* holding nobody but the user added here — which, the file winning, is what
|
|
844
794
|
* the next boot would keep. So the same boot migration runs first.
|
|
845
795
|
*/
|
|
846
|
-
async function userCommand(args, configPath, flagPassword, flagEmail) {
|
|
796
|
+
async function userCommand({ args, configPath, password: flagPassword, email: flagEmail, }) {
|
|
847
797
|
const subcommand = args[0];
|
|
848
798
|
if (subcommand === undefined) {
|
|
849
799
|
throw new Error('geekity user add <username> needs a subcommand. The only one is: add.');
|
|
@@ -862,11 +812,18 @@ async function userCommand(args, configPath, flagPassword, flagEmail) {
|
|
|
862
812
|
process.stderr.write(`${problem}\n`);
|
|
863
813
|
return 1;
|
|
864
814
|
}
|
|
865
|
-
const config =
|
|
866
|
-
const
|
|
867
|
-
migrateUsersToFile(
|
|
815
|
+
const config = await loadResolvedConfig(configPath);
|
|
816
|
+
const adminDb = openAdminDatabase(config.dataDir, config.now);
|
|
817
|
+
migrateUsersToFile(adminDb, config.dataDir);
|
|
818
|
+
const admin = adminStoreOwning(adminDb, databaseFile(config.dataDir), config.now);
|
|
868
819
|
try {
|
|
869
|
-
const user = await createUser({
|
|
820
|
+
const user = await createUser({
|
|
821
|
+
dataDir: config.dataDir,
|
|
822
|
+
username,
|
|
823
|
+
password,
|
|
824
|
+
email,
|
|
825
|
+
now: config.now(),
|
|
826
|
+
});
|
|
870
827
|
process.stdout.write(`Created admin user ${user.username}${user.email === undefined ? '' : ` (${user.email})`}. Sign in at ${LOGIN_URL}.\n`);
|
|
871
828
|
return 0;
|
|
872
829
|
}
|
|
@@ -943,15 +900,16 @@ async function pluginCommands(config) {
|
|
|
943
900
|
*/
|
|
944
901
|
async function pluginCommand(argv) {
|
|
945
902
|
const configPath = configFlag(argv);
|
|
946
|
-
const config =
|
|
903
|
+
const config = await loadResolvedConfig(configPath);
|
|
947
904
|
const words = leadingWords(argv);
|
|
948
905
|
const found = (await pluginCommands(config)).find(({ command }) => command.words.every((word, index) => words[index] === word));
|
|
949
906
|
if (found === undefined) {
|
|
950
907
|
throw new Error(`Unknown command "${words[0] ?? ''}". Run geekity --help to see what is available.`);
|
|
951
908
|
}
|
|
952
909
|
const { args, options } = parseCommandArgs(withoutConfig(argv).slice(found.command.words.length), found.command);
|
|
953
|
-
const
|
|
954
|
-
migrateUsersToFile(
|
|
910
|
+
const adminDb = openAdminDatabase(config.dataDir, config.now);
|
|
911
|
+
migrateUsersToFile(adminDb, config.dataDir);
|
|
912
|
+
const admin = adminStoreOwning(adminDb, databaseFile(config.dataDir), config.now);
|
|
955
913
|
const comments = { contentDir: config.contentDir, dataDir: config.dataDir };
|
|
956
914
|
migrateCommentEmails(comments);
|
|
957
915
|
migrateCommentKeys(comments);
|
|
@@ -1025,14 +983,14 @@ function parseCommandArgs(argv, command) {
|
|
|
1025
983
|
async function usage(configPath) {
|
|
1026
984
|
let found;
|
|
1027
985
|
try {
|
|
1028
|
-
found = await pluginCommands(
|
|
986
|
+
found = await pluginCommands(await loadResolvedConfig(configPath));
|
|
1029
987
|
}
|
|
1030
988
|
catch (error) {
|
|
1031
|
-
process.stderr.write(`Plugin commands are not listed: ${
|
|
1032
|
-
return
|
|
989
|
+
process.stderr.write(`Plugin commands are not listed: ${messageOf(error)}\n`);
|
|
990
|
+
return coreUsage();
|
|
1033
991
|
}
|
|
1034
992
|
if (found.length === 0)
|
|
1035
|
-
return
|
|
993
|
+
return coreUsage();
|
|
1036
994
|
const lines = ['', 'Plugin commands:'];
|
|
1037
995
|
for (const { plugin, command } of found) {
|
|
1038
996
|
const synopsis = wrap(`geekity ${[...command.words, command.usage].join(' ').trim()} [--config <file>]`, USAGE_CONTINUATION);
|
|
@@ -1040,18 +998,31 @@ async function usage(configPath) {
|
|
|
1040
998
|
lines.push(...wrap(command.summary, HELP_INDENT), `${HELP_INDENT}From ${plugin}.`);
|
|
1041
999
|
for (const option of command.options ?? []) {
|
|
1042
1000
|
const flag = `--${option.name}${option.value === undefined ? '' : ` ${option.value}`}`;
|
|
1043
|
-
|
|
1044
|
-
const head = ` ${flag}`;
|
|
1045
|
-
if (head.length < HELP_INDENT.length - 1 && described[0] !== undefined) {
|
|
1046
|
-
described[0] = `${head.padEnd(HELP_INDENT.length)}${described[0].trimStart()}`;
|
|
1047
|
-
lines.push(...described);
|
|
1048
|
-
}
|
|
1049
|
-
else {
|
|
1050
|
-
lines.push(head, ...described);
|
|
1051
|
-
}
|
|
1001
|
+
lines.push(...helpEntry(` ${flag}`, wrap(option.description, HELP_INDENT)));
|
|
1052
1002
|
}
|
|
1053
1003
|
}
|
|
1054
|
-
return `${
|
|
1004
|
+
return `${coreUsage()}${lines.join('\n')}\n`;
|
|
1005
|
+
}
|
|
1006
|
+
function coreUsage() {
|
|
1007
|
+
const entries = Object.values(COMMANDS);
|
|
1008
|
+
return [
|
|
1009
|
+
'geekity — the Geekity CMS command line',
|
|
1010
|
+
'',
|
|
1011
|
+
'Usage:',
|
|
1012
|
+
...entries.flatMap((entry) => entry.synopsis.map((line) => ` geekity ${line}`)),
|
|
1013
|
+
'',
|
|
1014
|
+
'Commands:',
|
|
1015
|
+
...entries.flatMap((entry) => entry.help.flatMap(([words, summary]) => helpEntry(` ${words}`, summary.map((line) => `${HELP_INDENT}${line}`)))),
|
|
1016
|
+
'',
|
|
1017
|
+
OPTIONS_HELP,
|
|
1018
|
+
].join('\n');
|
|
1019
|
+
}
|
|
1020
|
+
function helpEntry(head, described) {
|
|
1021
|
+
if (head.length < HELP_INDENT.length - 1 && described[0] !== undefined) {
|
|
1022
|
+
described[0] = `${head.padEnd(HELP_INDENT.length)}${described[0].trimStart()}`;
|
|
1023
|
+
return described;
|
|
1024
|
+
}
|
|
1025
|
+
return [head, ...described];
|
|
1055
1026
|
}
|
|
1056
1027
|
/** Where the help's descriptions start, as the core commands' do. */
|
|
1057
1028
|
const HELP_INDENT = ' '.repeat(19);
|
|
@@ -1159,7 +1130,7 @@ if (isEntryPoint()) {
|
|
|
1159
1130
|
process.exitCode = code;
|
|
1160
1131
|
})
|
|
1161
1132
|
.catch((error) => {
|
|
1162
|
-
process.stderr.write(`${
|
|
1133
|
+
process.stderr.write(`${messageOf(error)}\n`);
|
|
1163
1134
|
process.exit(1);
|
|
1164
1135
|
});
|
|
1165
1136
|
}
|