@geekity/cms 0.29.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 -4214
- 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 +245 -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 +25 -173
- package/dist/comments/records.d.ts.map +1 -1
- package/dist/comments/records.js +69 -265
- 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 +22 -34
- 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 +14 -19
- package/dist/content/guids.d.ts.map +1 -0
- package/dist/{web → content}/guids.js +30 -19
- 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 +12 -13
- 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 -838
- 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 +48 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +28 -2
- 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 +10 -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 +6 -333
- package/dist/web/conversation.d.ts.map +1 -1
- package/dist/web/conversation.js +280 -220
- 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 +13 -40
- package/dist/web/feed-source.d.ts.map +1 -1
- package/dist/web/feed-source.js +14 -43
- 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 +112 -1373
- 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 +34 -42
- 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 -2329
- package/themes/default/layouts/base.njk +5 -4
- package/themes/default/layouts/comment.njk +3 -3
- 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/comment.njk +5 -5
- 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 -998
- package/dist/admin/store.d.ts.map +0 -1
- package/dist/admin/store.js +0 -1588
- 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,27 +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 {
|
|
13
|
+
import { CONFIG_FILENAMES, loadResolvedConfig } from './config-loader.js';
|
|
14
|
+
import { migrateCommentEmails, migrateCommentKeys } from './comments/migrations.js';
|
|
23
15
|
import { stripStoredUploads } from './content/metadata/sweep.js';
|
|
24
|
-
import {
|
|
16
|
+
import { createUser, DuplicateUsernameError } from './site/users.js';
|
|
17
|
+
import { UPLOAD_DIRECTORY } from './content/uploads.js';
|
|
25
18
|
import { createCms } from './index.js';
|
|
26
19
|
import { initSite, ownManifest, seedStarterContent } from './init.js';
|
|
27
20
|
import { importPluginFolders, scanPluginFolders } from './plugins/folder.js';
|
|
@@ -33,19 +26,151 @@ import { superviseCluster } from './supervisor/primary.js';
|
|
|
33
26
|
import { processChannel, superviseWorker } from './supervisor/worker.js';
|
|
34
27
|
import { enterMaintenance, leaveMaintenance, maintenanceFile, readMaintenance, } from './maintenance.js';
|
|
35
28
|
import { devModeOn, enterDevMode, leaveDevMode } from './dev-mode.js';
|
|
36
|
-
|
|
37
|
-
const COMMANDS =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
+
};
|
|
49
174
|
/**
|
|
50
175
|
* The options one command reads out of {@link ParsedArgs.flags}, each of which
|
|
51
176
|
* carries a value.
|
|
@@ -53,68 +178,7 @@ const COMMANDS = [
|
|
|
53
178
|
const VALUE_FLAGS = ['until'];
|
|
54
179
|
/** The options that are simply on or off. */
|
|
55
180
|
const SWITCH_FLAGS = ['all', 'check'];
|
|
56
|
-
const
|
|
57
|
-
const USAGE = `geekity — the Geekity CMS command line
|
|
58
|
-
|
|
59
|
-
Usage:
|
|
60
|
-
geekity [serve] [--config <file>]
|
|
61
|
-
geekity init <directory>
|
|
62
|
-
geekity sync [--config <file>]
|
|
63
|
-
geekity rebuild [--config <file>]
|
|
64
|
-
geekity resend (--all | <slug>...) [--config <file>]
|
|
65
|
-
geekity maintenance (on [--until <time>] | off | status) [--config <file>]
|
|
66
|
-
geekity dev-mode (on | off | status) [--config <file>]
|
|
67
|
-
geekity strip-metadata [--config <file>]
|
|
68
|
-
geekity user add <username> [--password <pw>] [--email <address>] [--config <file>]
|
|
69
|
-
geekity plugin (add <package>[@version] | remove <package>) [--config <file>]
|
|
70
|
-
geekity plugin upgrade [<package>...] [--check] [--config <file>]
|
|
71
|
-
|
|
72
|
-
Commands:
|
|
73
|
-
serve Start the CMS (the default when no command is given).
|
|
74
|
-
init Create a new site in <directory>.
|
|
75
|
-
sync Rebuild the content index once and exit.
|
|
76
|
-
rebuild Delete data/geekity.db and build it again from the files.
|
|
77
|
-
Everything in it is derived, so this is always safe with the
|
|
78
|
-
site stopped; sessions and delivery outcomes start empty.
|
|
79
|
-
resend Send announced posts to every follower and relay again, as
|
|
80
|
-
they read now: an Update for a post still published, a
|
|
81
|
-
Delete for one withdrawn. --all resends every post the site
|
|
82
|
-
has announced; this is how posts federated before a new
|
|
83
|
-
federation feature (such as quote posts) pick it up.
|
|
84
|
-
maintenance Take the public site down on purpose, or bring it back.
|
|
85
|
-
While on, pages, feeds, sitemaps and inbox deliveries answer
|
|
86
|
-
503 with Retry-After; the admin, /healthz and signed-in
|
|
87
|
-
users are let through. A running site notices within a
|
|
88
|
-
second, with no restart.
|
|
89
|
-
dev-mode Hold everything the site would send to the outside world
|
|
90
|
-
(ActivityPub deliveries and relay follows, webmentions,
|
|
91
|
-
rssCloud and WebSub pings, IndexNow, email) while it is
|
|
92
|
-
built or migrated, and record each one in
|
|
93
|
-
data/dev-mode.jsonl. off takes the site live: nothing held
|
|
94
|
-
is sent then, and the record says when it went live.
|
|
95
|
-
strip-metadata Remove location and camera metadata (EXIF, XMP, IPTC, a
|
|
96
|
-
video's location) from files already in content/uploads.
|
|
97
|
-
New uploads are stripped as they arrive; this is for the
|
|
98
|
-
ones from before. Safe to run again: a clean file is left
|
|
99
|
-
as it is.
|
|
100
|
-
user add Create an admin user, so a site can get its first login
|
|
101
|
-
without the setup screen.
|
|
102
|
-
plugin add Install a plugin package's bundle from the npm registry
|
|
103
|
-
(npm_config_registry, or registry.npmjs.org) into the
|
|
104
|
-
plugins folder, GEEKITY_PLUGINS_DIR. It installs only the
|
|
105
|
-
package named, and names any plugin it requires that is
|
|
106
|
-
missing. Reload on the Plugins screen loads it.
|
|
107
|
-
plugin remove Delete a plugin's folder from the plugins folder. Reload on
|
|
108
|
-
the Plugins screen unloads it. It refuses a plugin the site
|
|
109
|
-
has enabled: disable it first.
|
|
110
|
-
plugin upgrade Bring each plugin in the plugins folder, or only the ones
|
|
111
|
-
named, up to its newest version that this core and the
|
|
112
|
-
other installed plugins can run, installed as plugin add
|
|
113
|
-
installs one. Plugins that must move together do. It says,
|
|
114
|
-
for each plugin, what it upgraded, or why it held a newer
|
|
115
|
-
version back. --check reports and installs nothing.
|
|
116
|
-
|
|
117
|
-
Options:
|
|
181
|
+
const OPTIONS_HELP = `Options:
|
|
118
182
|
--config <file> Config file to load. Defaults to the first of
|
|
119
183
|
${CONFIG_FILENAMES.join(', ')} found in the working directory.
|
|
120
184
|
--password <pw> The new user's password. Left off, it is asked for without
|
|
@@ -246,105 +310,7 @@ export function parseArgs(argv) {
|
|
|
246
310
|
return { command: command ?? 'serve', configPath, password, email, flags, args };
|
|
247
311
|
}
|
|
248
312
|
function isCommand(value) {
|
|
249
|
-
return
|
|
250
|
-
}
|
|
251
|
-
/** Extensions that need TypeScript support in the loader. */
|
|
252
|
-
const TYPESCRIPT_EXTENSIONS = new Set(['.ts', '.mts', '.cts']);
|
|
253
|
-
/**
|
|
254
|
-
* Load a config module, returning `{}` when the site has no config file.
|
|
255
|
-
*
|
|
256
|
-
* A TypeScript config is imported directly first. That is all it takes on Node
|
|
257
|
-
* 24, which strips types without a flag, and inside this repository, where
|
|
258
|
-
* the CLI already runs under tsx. A Node started with stripping disabled — and
|
|
259
|
-
* any file carrying TypeScript syntax that stripping cannot erase — falls back to
|
|
260
|
-
* registering tsx from the *site's* own dependencies, which is where a site
|
|
261
|
-
* scaffolded by `geekity init` has it. A site with neither writes
|
|
262
|
-
* `geekity.config.js` instead; it is in the candidate list for exactly that.
|
|
263
|
-
*/
|
|
264
|
-
export async function loadConfig(cwd, configPath) {
|
|
265
|
-
const candidates = configPath === undefined
|
|
266
|
-
? CONFIG_FILENAMES.map((name) => path.resolve(cwd, name))
|
|
267
|
-
: [path.resolve(cwd, configPath)];
|
|
268
|
-
for (const candidate of candidates) {
|
|
269
|
-
const href = pathToFileURL(candidate).href;
|
|
270
|
-
let module;
|
|
271
|
-
try {
|
|
272
|
-
module = (await import(__rewriteRelativeImportExtension(href)));
|
|
273
|
-
}
|
|
274
|
-
catch (error) {
|
|
275
|
-
if (isModuleNotFound(error, candidate))
|
|
276
|
-
continue;
|
|
277
|
-
if (!needsTypeScriptLoader(error, candidate))
|
|
278
|
-
throw error;
|
|
279
|
-
await registerTypeScriptLoader(cwd, candidate);
|
|
280
|
-
module = (await import(__rewriteRelativeImportExtension(href)));
|
|
281
|
-
}
|
|
282
|
-
return module.default ?? {};
|
|
283
|
-
}
|
|
284
|
-
if (configPath !== undefined) {
|
|
285
|
-
throw new Error(`Config file not found: ${path.resolve(cwd, configPath)}`);
|
|
286
|
-
}
|
|
287
|
-
return {};
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* The site's own tsx, as the directory the package was installed into, or
|
|
291
|
-
* `undefined` when the site does not have one.
|
|
292
|
-
*
|
|
293
|
-
* Node's resolver is deliberately not asked: this has to be the tsx the *site*
|
|
294
|
-
* installed, and a resolver anchored anywhere else — or patched by a tsx that
|
|
295
|
-
* is already loaded, which is what happens inside this repository — would
|
|
296
|
-
* happily answer with somebody else's copy.
|
|
297
|
-
*/
|
|
298
|
-
export function findSiteTsx(cwd) {
|
|
299
|
-
let directory = path.resolve(cwd);
|
|
300
|
-
for (;;) {
|
|
301
|
-
const candidate = path.join(directory, 'node_modules', 'tsx');
|
|
302
|
-
if (existsSync(path.join(candidate, 'package.json')))
|
|
303
|
-
return candidate;
|
|
304
|
-
const parent = path.dirname(directory);
|
|
305
|
-
if (parent === directory)
|
|
306
|
-
return undefined;
|
|
307
|
-
directory = parent;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Teach this process to import TypeScript, using the tsx installed alongside
|
|
312
|
-
* the site.
|
|
313
|
-
*
|
|
314
|
-
* tsx is the site's rather than this package's because the CMS does not depend
|
|
315
|
-
* on it at runtime: a site that runs `server.ts` already has it, and a site
|
|
316
|
-
* that does not want it writes its config in JavaScript instead.
|
|
317
|
-
*/
|
|
318
|
-
export async function registerTypeScriptLoader(cwd, configFile) {
|
|
319
|
-
const tsx = findSiteTsx(cwd);
|
|
320
|
-
if (tsx === undefined) {
|
|
321
|
-
throw new Error(`Could not load ${configFile}: this Node cannot import TypeScript on its own and tsx is ` +
|
|
322
|
-
'not installed in this site. Either add it (pnpm add -D tsx), or write the config as ' +
|
|
323
|
-
'geekity.config.js instead.');
|
|
324
|
-
}
|
|
325
|
-
const fromTsx = createRequire(path.join(tsx, 'package.json'));
|
|
326
|
-
const api = (await import(__rewriteRelativeImportExtension(pathToFileURL(fromTsx.resolve('tsx/esm/api')).href)));
|
|
327
|
-
api.register();
|
|
328
|
-
}
|
|
329
|
-
/**
|
|
330
|
-
* Whether an import failed because the loader could not handle TypeScript.
|
|
331
|
-
*
|
|
332
|
-
* `ERR_UNKNOWN_FILE_EXTENSION` is Node before type stripping was on by
|
|
333
|
-
* default; `ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX` is a file using `enum` or
|
|
334
|
-
* `namespace`, which stripping refuses because erasing it is not enough.
|
|
335
|
-
*/
|
|
336
|
-
function needsTypeScriptLoader(error, candidate) {
|
|
337
|
-
if (!TYPESCRIPT_EXTENSIONS.has(path.extname(candidate).toLowerCase()))
|
|
338
|
-
return false;
|
|
339
|
-
const code = error?.code;
|
|
340
|
-
return code === 'ERR_UNKNOWN_FILE_EXTENSION' || code === 'ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX';
|
|
341
|
-
}
|
|
342
|
-
function isModuleNotFound(error, candidate) {
|
|
343
|
-
return (typeof error === 'object' &&
|
|
344
|
-
error !== null &&
|
|
345
|
-
'code' in error &&
|
|
346
|
-
error.code === 'ERR_MODULE_NOT_FOUND' &&
|
|
347
|
-
String(error.message ?? '').includes(candidate));
|
|
313
|
+
return Object.hasOwn(COMMANDS, value);
|
|
348
314
|
}
|
|
349
315
|
/** Run one command. Resolves with the exit code the process should use. */
|
|
350
316
|
async function main(argv) {
|
|
@@ -352,37 +318,19 @@ async function main(argv) {
|
|
|
352
318
|
if (first !== undefined && !isCommand(first) && !argv.some(isHelpOrVersion)) {
|
|
353
319
|
return await pluginCommand(argv);
|
|
354
320
|
}
|
|
355
|
-
const
|
|
356
|
-
if (command === 'help') {
|
|
357
|
-
process.stdout.write(await usage(configPath));
|
|
321
|
+
const parsed = parseArgs(argv);
|
|
322
|
+
if (parsed.command === 'help') {
|
|
323
|
+
process.stdout.write(await usage(parsed.configPath));
|
|
358
324
|
return 0;
|
|
359
325
|
}
|
|
360
|
-
if (command === 'version') {
|
|
326
|
+
if (parsed.command === 'version') {
|
|
361
327
|
process.stdout.write(`${ownManifest().version}\n`);
|
|
362
328
|
return 0;
|
|
363
329
|
}
|
|
364
|
-
|
|
365
|
-
return init(args);
|
|
366
|
-
if (command === 'user')
|
|
367
|
-
return userCommand(args, configPath, password, email);
|
|
368
|
-
if (command === 'sync')
|
|
369
|
-
return syncCommand(configPath);
|
|
370
|
-
if (command === 'rebuild')
|
|
371
|
-
return rebuildCommand(configPath);
|
|
372
|
-
if (command === 'resend')
|
|
373
|
-
return resendCommand(args, configPath, flags);
|
|
374
|
-
if (command === 'maintenance')
|
|
375
|
-
return maintenanceCommand(args, configPath, flags);
|
|
376
|
-
if (command === 'dev-mode')
|
|
377
|
-
return devModeCommand(args, configPath);
|
|
378
|
-
if (command === 'strip-metadata')
|
|
379
|
-
return stripMetadataCommand(configPath);
|
|
380
|
-
if (command === 'plugin')
|
|
381
|
-
return pluginFolderCommand(args, configPath, flags);
|
|
382
|
-
return serveCommand(configPath);
|
|
330
|
+
return COMMANDS[parsed.command].run(parsed);
|
|
383
331
|
}
|
|
384
332
|
/** `geekity init <directory>`: scaffold a new site. */
|
|
385
|
-
async function
|
|
333
|
+
async function initCommand({ args }) {
|
|
386
334
|
const directory = args[0];
|
|
387
335
|
if (directory === undefined) {
|
|
388
336
|
throw new Error('geekity init <directory> needs the directory to create.');
|
|
@@ -406,9 +354,9 @@ async function init(args) {
|
|
|
406
354
|
* Only the file under `data/` is touched, so this works the same with the
|
|
407
355
|
* site running or stopped: a running site re-reads it within a second.
|
|
408
356
|
*/
|
|
409
|
-
async function maintenanceCommand(args, configPath, flags) {
|
|
357
|
+
async function maintenanceCommand({ args, configPath, flags }) {
|
|
410
358
|
const action = args[0];
|
|
411
|
-
const config =
|
|
359
|
+
const config = await loadResolvedConfig(configPath);
|
|
412
360
|
const file = maintenanceFile(config.dataDir);
|
|
413
361
|
if (action === 'on') {
|
|
414
362
|
const until = untilFlag(text(flags, 'until'));
|
|
@@ -433,11 +381,11 @@ async function maintenanceCommand(args, configPath, flags) {
|
|
|
433
381
|
}
|
|
434
382
|
throw new Error('geekity maintenance needs on, off or status.');
|
|
435
383
|
}
|
|
436
|
-
async function devModeCommand(args, configPath) {
|
|
384
|
+
async function devModeCommand({ args, configPath }) {
|
|
437
385
|
const action = args[0];
|
|
438
|
-
const config =
|
|
386
|
+
const config = await loadResolvedConfig(configPath);
|
|
439
387
|
if (action === 'on') {
|
|
440
|
-
enterDevMode(config.dataDir, 'command');
|
|
388
|
+
enterDevMode(config.dataDir, 'command', config.now());
|
|
441
389
|
process.stdout.write('Dev mode is on: nothing the site does is sent until `geekity dev-mode off`.\n');
|
|
442
390
|
return 0;
|
|
443
391
|
}
|
|
@@ -446,7 +394,7 @@ async function devModeCommand(args, configPath) {
|
|
|
446
394
|
throw new Error('GEEKITY_DEV_MODE or the devMode setting still asks for dev mode. ' +
|
|
447
395
|
'Remove it, then run geekity dev-mode off again.');
|
|
448
396
|
}
|
|
449
|
-
const wasOn = leaveDevMode(config.dataDir);
|
|
397
|
+
const wasOn = leaveDevMode(config.dataDir, config.now());
|
|
450
398
|
process.stdout.write(wasOn
|
|
451
399
|
? 'Dev mode is off: the site is live. Nothing held while it was on will be sent.\n'
|
|
452
400
|
: 'Dev mode was already off: the site is live.\n');
|
|
@@ -475,8 +423,8 @@ function forcedLine(forced) {
|
|
|
475
423
|
? ' GEEKITY_MAINTENANCE or the maintenance setting keeps it on until the site restarts without it.'
|
|
476
424
|
: '';
|
|
477
425
|
}
|
|
478
|
-
async function stripMetadataCommand(configPath) {
|
|
479
|
-
const config =
|
|
426
|
+
async function stripMetadataCommand({ configPath }) {
|
|
427
|
+
const config = await loadResolvedConfig(configPath);
|
|
480
428
|
const results = await stripStoredUploads(path.join(config.contentDir, UPLOAD_DIRECTORY));
|
|
481
429
|
let stripped = 0;
|
|
482
430
|
let clean = 0;
|
|
@@ -504,9 +452,8 @@ async function stripMetadataCommand(configPath) {
|
|
|
504
452
|
* Watching is forced off whatever the config says, because a one-shot scan
|
|
505
453
|
* that then sat in a watcher would never exit.
|
|
506
454
|
*/
|
|
507
|
-
async function syncCommand(configPath) {
|
|
508
|
-
const
|
|
509
|
-
const cms = createCms({ ...config, watch: false });
|
|
455
|
+
async function syncCommand({ configPath }) {
|
|
456
|
+
const cms = createCms(await loadResolvedConfig(configPath, (config) => ({ ...config, watch: false })));
|
|
510
457
|
try {
|
|
511
458
|
const result = await cms.sync();
|
|
512
459
|
process.stdout.write(`Scanned ${String(result.scanned)}: ${String(result.created)} created, ` +
|
|
@@ -534,17 +481,16 @@ async function syncCommand(configPath) {
|
|
|
534
481
|
* button on the federation screen, for every post at once. Delivery runs with
|
|
535
482
|
* no queue, so each activity has been posted before the process exits.
|
|
536
483
|
*/
|
|
537
|
-
async function resendCommand(args, configPath, flags) {
|
|
484
|
+
async function resendCommand({ args, configPath, flags }) {
|
|
538
485
|
const all = flags['all'] === true;
|
|
539
486
|
if (all === args.length > 0) {
|
|
540
487
|
throw new Error('geekity resend needs either --all or the slugs of the posts to resend, and not both.');
|
|
541
488
|
}
|
|
542
|
-
const
|
|
543
|
-
const cms = createCms({
|
|
489
|
+
const cms = createCms(await loadResolvedConfig(configPath, (config) => ({
|
|
544
490
|
...config,
|
|
545
491
|
watch: false,
|
|
546
492
|
federation: { ...config.federation, queue: null },
|
|
547
|
-
});
|
|
493
|
+
})));
|
|
548
494
|
try {
|
|
549
495
|
await cms.sync();
|
|
550
496
|
const slugs = all ? cms.store.listFederated().map((document) => document.slug) : args;
|
|
@@ -589,9 +535,8 @@ async function resendCommand(args, configPath, flags) {
|
|
|
589
535
|
* Watching is forced off for the reason `sync` forces it off: a one-shot
|
|
590
536
|
* command that sat in a watcher would never exit.
|
|
591
537
|
*/
|
|
592
|
-
async function rebuildCommand(configPath) {
|
|
593
|
-
const
|
|
594
|
-
const config = resolveConfig(loaded);
|
|
538
|
+
async function rebuildCommand({ configPath }) {
|
|
539
|
+
const config = await loadResolvedConfig(configPath, (loaded) => ({ ...loaded, watch: false }));
|
|
595
540
|
const file = databaseFile(config.dataDir);
|
|
596
541
|
if (databaseInUse(config.dataDir)) {
|
|
597
542
|
process.stderr.write(`${file} is in use: something else has it open, most likely the site itself. Stop the ` +
|
|
@@ -600,7 +545,7 @@ async function rebuildCommand(configPath) {
|
|
|
600
545
|
return 1;
|
|
601
546
|
}
|
|
602
547
|
discardDatabase(config.dataDir);
|
|
603
|
-
const cms = createCms(
|
|
548
|
+
const cms = createCms(config);
|
|
604
549
|
try {
|
|
605
550
|
const result = await cms.sync();
|
|
606
551
|
process.stdout.write(`Rebuilt ${file} from the files.\n` +
|
|
@@ -688,10 +633,10 @@ const SQLITE_LOCKED = 6;
|
|
|
688
633
|
* to show and the setup screen. It happens here rather than in `createCms` so
|
|
689
634
|
* a site that builds its own server never has content written for it.
|
|
690
635
|
*/
|
|
691
|
-
async function serveCommand(configPath) {
|
|
636
|
+
async function serveCommand({ configPath }) {
|
|
692
637
|
if (cluster.isWorker)
|
|
693
638
|
return serveWorker(configPath);
|
|
694
|
-
const resolved =
|
|
639
|
+
const resolved = await loadResolvedConfig(configPath);
|
|
695
640
|
if (resolved.seedContent &&
|
|
696
641
|
(await seedStarterContent({ contentDir: resolved.contentDir, baseUrl: resolved.baseUrl }))) {
|
|
697
642
|
process.stdout.write(`Seeded ${resolved.contentDir} with the starter site\n`);
|
|
@@ -713,20 +658,26 @@ async function serveWorker(configPath) {
|
|
|
713
658
|
for (const signal of ['SIGINT', 'SIGTERM'])
|
|
714
659
|
process.on(signal, () => undefined);
|
|
715
660
|
try {
|
|
716
|
-
|
|
717
|
-
|
|
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);
|
|
718
671
|
const worker = superviseWorker({
|
|
719
672
|
channel,
|
|
720
673
|
loaded,
|
|
721
674
|
exit: (code) => process.exit(code),
|
|
722
675
|
log: (line) => process.stderr.write(`${line}\n`),
|
|
723
676
|
});
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
// wins and a site that wrote `accessLog: false` still gets silence.
|
|
729
|
-
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
|
+
});
|
|
730
681
|
const { port } = await cms.serve();
|
|
731
682
|
if (devModeOn(cms.config)) {
|
|
732
683
|
process.stdout.write('Dev mode is on: ActivityPub, webmentions, feed pings, IndexNow and email are held ' +
|
|
@@ -736,18 +687,18 @@ async function serveWorker(configPath) {
|
|
|
736
687
|
worker.serving(cms);
|
|
737
688
|
}
|
|
738
689
|
catch (error) {
|
|
739
|
-
const message =
|
|
690
|
+
const message = messageOf(error);
|
|
740
691
|
channel.send({ type: 'boot-failed', error: message }, () => process.exit(1));
|
|
741
692
|
}
|
|
742
693
|
return 0;
|
|
743
694
|
}
|
|
744
|
-
async function pluginFolderCommand(args, configPath, flags) {
|
|
695
|
+
async function pluginFolderCommand({ args, configPath, flags }) {
|
|
745
696
|
const [action, ...names] = args;
|
|
746
697
|
const spec = names.length === 1 ? names[0] : undefined;
|
|
747
698
|
if (action !== 'upgrade' && action !== 'add' && action !== 'remove') {
|
|
748
699
|
throw new Error(PLUGIN_USAGE);
|
|
749
700
|
}
|
|
750
|
-
const config =
|
|
701
|
+
const config = await loadResolvedConfig(configPath);
|
|
751
702
|
const { pluginsDir } = config;
|
|
752
703
|
if (pluginsDir === undefined) {
|
|
753
704
|
throw new Error('geekity plugin needs a plugins folder: set GEEKITY_PLUGINS_DIR, or pluginsDir in the config.');
|
|
@@ -842,7 +793,7 @@ function upgradeReportText(report) {
|
|
|
842
793
|
* holding nobody but the user added here — which, the file winning, is what
|
|
843
794
|
* the next boot would keep. So the same boot migration runs first.
|
|
844
795
|
*/
|
|
845
|
-
async function userCommand(args, configPath, flagPassword, flagEmail) {
|
|
796
|
+
async function userCommand({ args, configPath, password: flagPassword, email: flagEmail, }) {
|
|
846
797
|
const subcommand = args[0];
|
|
847
798
|
if (subcommand === undefined) {
|
|
848
799
|
throw new Error('geekity user add <username> needs a subcommand. The only one is: add.');
|
|
@@ -861,11 +812,18 @@ async function userCommand(args, configPath, flagPassword, flagEmail) {
|
|
|
861
812
|
process.stderr.write(`${problem}\n`);
|
|
862
813
|
return 1;
|
|
863
814
|
}
|
|
864
|
-
const config =
|
|
865
|
-
const
|
|
866
|
-
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);
|
|
867
819
|
try {
|
|
868
|
-
const user = await createUser({
|
|
820
|
+
const user = await createUser({
|
|
821
|
+
dataDir: config.dataDir,
|
|
822
|
+
username,
|
|
823
|
+
password,
|
|
824
|
+
email,
|
|
825
|
+
now: config.now(),
|
|
826
|
+
});
|
|
869
827
|
process.stdout.write(`Created admin user ${user.username}${user.email === undefined ? '' : ` (${user.email})`}. Sign in at ${LOGIN_URL}.\n`);
|
|
870
828
|
return 0;
|
|
871
829
|
}
|
|
@@ -935,19 +893,26 @@ async function pluginCommands(config) {
|
|
|
935
893
|
*
|
|
936
894
|
* The database is opened for the reason `user add` opens it: a command can
|
|
937
895
|
* reach `data/users.json` before any server has, so a site upgrading from the
|
|
938
|
-
* version that kept its accounts in SQLite is migrated first.
|
|
896
|
+
* version that kept its accounts in SQLite is migrated first. The comments
|
|
897
|
+
* are migrated as a boot would migrate them for the same reason: a command
|
|
898
|
+
* writing comments before any server has would otherwise meet ids the site
|
|
899
|
+
* refuses to store.
|
|
939
900
|
*/
|
|
940
901
|
async function pluginCommand(argv) {
|
|
941
902
|
const configPath = configFlag(argv);
|
|
942
|
-
const config =
|
|
903
|
+
const config = await loadResolvedConfig(configPath);
|
|
943
904
|
const words = leadingWords(argv);
|
|
944
905
|
const found = (await pluginCommands(config)).find(({ command }) => command.words.every((word, index) => words[index] === word));
|
|
945
906
|
if (found === undefined) {
|
|
946
907
|
throw new Error(`Unknown command "${words[0] ?? ''}". Run geekity --help to see what is available.`);
|
|
947
908
|
}
|
|
948
909
|
const { args, options } = parseCommandArgs(withoutConfig(argv).slice(found.command.words.length), found.command);
|
|
949
|
-
const
|
|
950
|
-
migrateUsersToFile(
|
|
910
|
+
const adminDb = openAdminDatabase(config.dataDir, config.now);
|
|
911
|
+
migrateUsersToFile(adminDb, config.dataDir);
|
|
912
|
+
const admin = adminStoreOwning(adminDb, databaseFile(config.dataDir), config.now);
|
|
913
|
+
const comments = { contentDir: config.contentDir, dataDir: config.dataDir };
|
|
914
|
+
migrateCommentEmails(comments);
|
|
915
|
+
migrateCommentKeys(comments);
|
|
951
916
|
try {
|
|
952
917
|
return await found.command.run({
|
|
953
918
|
args,
|
|
@@ -1018,14 +983,14 @@ function parseCommandArgs(argv, command) {
|
|
|
1018
983
|
async function usage(configPath) {
|
|
1019
984
|
let found;
|
|
1020
985
|
try {
|
|
1021
|
-
found = await pluginCommands(
|
|
986
|
+
found = await pluginCommands(await loadResolvedConfig(configPath));
|
|
1022
987
|
}
|
|
1023
988
|
catch (error) {
|
|
1024
|
-
process.stderr.write(`Plugin commands are not listed: ${
|
|
1025
|
-
return
|
|
989
|
+
process.stderr.write(`Plugin commands are not listed: ${messageOf(error)}\n`);
|
|
990
|
+
return coreUsage();
|
|
1026
991
|
}
|
|
1027
992
|
if (found.length === 0)
|
|
1028
|
-
return
|
|
993
|
+
return coreUsage();
|
|
1029
994
|
const lines = ['', 'Plugin commands:'];
|
|
1030
995
|
for (const { plugin, command } of found) {
|
|
1031
996
|
const synopsis = wrap(`geekity ${[...command.words, command.usage].join(' ').trim()} [--config <file>]`, USAGE_CONTINUATION);
|
|
@@ -1033,18 +998,31 @@ async function usage(configPath) {
|
|
|
1033
998
|
lines.push(...wrap(command.summary, HELP_INDENT), `${HELP_INDENT}From ${plugin}.`);
|
|
1034
999
|
for (const option of command.options ?? []) {
|
|
1035
1000
|
const flag = `--${option.name}${option.value === undefined ? '' : ` ${option.value}`}`;
|
|
1036
|
-
|
|
1037
|
-
const head = ` ${flag}`;
|
|
1038
|
-
if (head.length < HELP_INDENT.length - 1 && described[0] !== undefined) {
|
|
1039
|
-
described[0] = `${head.padEnd(HELP_INDENT.length)}${described[0].trimStart()}`;
|
|
1040
|
-
lines.push(...described);
|
|
1041
|
-
}
|
|
1042
|
-
else {
|
|
1043
|
-
lines.push(head, ...described);
|
|
1044
|
-
}
|
|
1001
|
+
lines.push(...helpEntry(` ${flag}`, wrap(option.description, HELP_INDENT)));
|
|
1045
1002
|
}
|
|
1046
1003
|
}
|
|
1047
|
-
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];
|
|
1048
1026
|
}
|
|
1049
1027
|
/** Where the help's descriptions start, as the core commands' do. */
|
|
1050
1028
|
const HELP_INDENT = ' '.repeat(19);
|
|
@@ -1152,7 +1130,7 @@ if (isEntryPoint()) {
|
|
|
1152
1130
|
process.exitCode = code;
|
|
1153
1131
|
})
|
|
1154
1132
|
.catch((error) => {
|
|
1155
|
-
process.stderr.write(`${
|
|
1133
|
+
process.stderr.write(`${messageOf(error)}\n`);
|
|
1156
1134
|
process.exit(1);
|
|
1157
1135
|
});
|
|
1158
1136
|
}
|