ghost 6.54.0 → 6.55.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/components/ghost-storage-base-3.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
- package/components/tryghost-adapter-base-scheduling-0.2.0.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.1.1.tgz +0 -0
- package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
- package/components/tryghost-kg-default-cards-10.3.3.tgz +0 -0
- package/core/boot.js +3 -6
- package/core/built/admin/assets/{account-migration-DLvVA5yq.js → account-migration-sjHLx5dy.js} +1 -1
- package/core/built/admin/assets/activitypub/{account-migration-DHbZcxGM.js → account-migration-DoYXtnZ8.js} +4 -4
- package/core/built/admin/assets/activitypub/activitypub.js +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-zfxUey_L.js → bluesky-sharing-Bxeh6MKW.js} +4 -4
- package/core/built/admin/assets/activitypub/{dist-BqkDUQxJ2.js → dist-ByFmDSNP2.js} +64 -63
- package/core/built/admin/assets/activitypub/{dist-Ba_QxHHl.js → dist-D8sFfdpC.js} +2 -2
- package/core/built/admin/assets/activitypub/{domain-CmwSZLHK.js → domain-CWueFW6q.js} +5 -5
- package/core/built/admin/assets/activitypub/{edit-profile-CXdwNmVG.js → edit-profile-BGxPU7N5.js} +3 -3
- package/core/built/admin/assets/activitypub/{explore-DfbjzGM1.js → explore-DBK-u0Ch.js} +3 -3
- package/core/built/admin/assets/activitypub/{feed-DSEBJOqf.js → feed-Bcir5RQZ.js} +3 -3
- package/core/built/admin/assets/activitypub/{field-CY7XVcx6.js → field-BV-CIT3d.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-DtQ0kytT.js → inbox-yC0nfvzl.js} +4 -4
- package/core/built/admin/assets/activitypub/{label-Dw96GQ7u.js → label-DTRS9TDk.js} +2 -2
- package/core/built/admin/assets/activitypub/layout-qx-bUL1k.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-Dg_-I-8C.js → moderation-Dwl9t0pb.js} +4 -4
- package/core/built/admin/assets/activitypub/{note-Cy1-uKMY.js → note-B-zKsZ7r.js} +3 -3
- package/core/built/admin/assets/activitypub/{notifications-B_fvoLIM.js → notifications-DjJZD54t.js} +3 -3
- package/core/built/admin/assets/activitypub/{preferences-ByJseZp6.js → preferences-CoU8vs6d.js} +6 -6
- package/core/built/admin/assets/activitypub/{profile-BFtbnIjz.js → profile-BAsaJekx.js} +6 -6
- package/core/built/admin/assets/activitypub/{routes-Dh3xXfce.js → routes-CLH3OVTP.js} +28 -25
- package/core/built/admin/assets/activitypub/{settings-DTgqJPxM.js → settings-DA6pNJ-Q.js} +3 -3
- package/core/built/admin/assets/activitypub/{site-CdL9ZLqm.js → site-CQD42Pw5.js} +2 -2
- package/core/built/admin/assets/activitypub/{tabs-ogqwoBlb.js → tabs-Cg0saow1.js} +7 -7
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-CxonteFD.js → use-reply-chain-data-Br4aOWOh.js} +2 -2
- package/core/built/admin/assets/audience-DjEWNhp3.js +1 -0
- package/core/built/admin/assets/{automated-emails-Cn87L5Md.js → automated-emails-DRy7qY-J.js} +2 -2
- package/core/built/admin/assets/{automations-BP_aHamJ.js → automations-Bx3VcFIL.js} +1 -1
- package/core/built/admin/assets/{automations-B7-y3dXt.js → automations-DhKeS_U5.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-Bh36XPh4.js → bluesky-sharing-ClMd0-Ft.js} +1 -1
- package/core/built/admin/assets/{breadcrumb-D34YWnaw.js → breadcrumb-BD0U2ygg.js} +1 -1
- package/core/built/admin/assets/{chart-helpers-DbklaJw9.js → chart-helpers-fjQKRVyY.js} +1 -1
- package/core/built/admin/assets/checkbox-CWa28lgO.js +1 -0
- package/core/built/admin/assets/{chunk.962.b73442b07be930bb5d85.js → chunk.211.6f7328d63c41536451b3.js} +737 -559
- package/core/built/admin/assets/{chunk.962.b73442b07be930bb5d85.js.LICENSE.txt → chunk.211.6f7328d63c41536451b3.js.LICENSE.txt} +2 -0
- package/core/built/admin/assets/{chunk.589.096f4d0bb775e5229aa9.js → chunk.481.6c7395a49484bb4583aa.js} +41 -38
- package/core/built/admin/assets/chunk.524.cffd399783a519e404a9.js +25 -0
- package/core/built/admin/assets/chunk.582.eebf0d0b2d202bb746a5.js +27 -0
- package/core/built/admin/assets/code-editor-view-CCr0rBWS.js +1 -0
- package/core/built/admin/assets/comments-DyUSMUdj.js +1 -0
- package/core/built/admin/assets/{date-range-select-B5vSsrpx.js → date-range-select-BFp58EMk.js} +1 -1
- package/core/built/admin/assets/{disabled-sources-indicator-NkOIoMue.js → disabled-sources-indicator-CUxMfiPa.js} +1 -1
- package/core/built/admin/assets/dist-2Tnz2Yfq.js +1 -0
- package/core/built/admin/assets/dist-CjY-f5Z1.js +1 -0
- package/core/built/admin/assets/dist-DIC8yz5C.js +1 -0
- package/core/built/admin/assets/domain-C0bV2UV8.js +1 -0
- package/core/built/admin/assets/dropzone-DlK-K2DQ.js +5 -0
- package/core/built/admin/assets/{edit-profile-rvDGrS8J.js → edit-profile-BKT-REJw.js} +1 -1
- package/core/built/admin/assets/editor-Dp865O-4.js +8 -0
- package/core/built/admin/assets/{explore-BZAZOg5X.js → explore-ClUpJZOp.js} +1 -1
- package/core/built/admin/assets/{feed-CFV8xDw9.js → feed-DF92dUMP.js} +1 -1
- package/core/built/admin/assets/field-Do7lieBA.js +1 -0
- package/core/built/admin/assets/{filter-sources-Fx8wiYYw.js → filter-sources-BV2rnpfA.js} +1 -1
- package/core/built/admin/assets/filters-CUXJ2Nm9.js +1 -0
- package/core/built/admin/assets/{filters-CGX_pf2N.js → filters-DfbIWc_l.js} +1 -1
- package/core/built/admin/assets/{ghost-3063eae29e6c9cc6d6e7131928a27da0.css → ghost-a9c788f6f0b1ea6cf0f14ca4b13f4496.css} +1 -1
- package/core/built/admin/assets/{ghost-b1dce91ad3232cc259ee5fbbf9526243.js → ghost-c4057474943effc568c5659ccc4909d7.js} +407 -406
- package/core/built/admin/assets/{ghost-dark-c8d0ab7f515b2010c173e23e9b32ea8a.css → ghost-dark-db36d795d21c61426837df40af270966.css} +1 -1
- package/core/built/admin/assets/gift-link-modal-f9VIMNDv.js +1 -0
- package/core/built/admin/assets/{gift-links-nBxJjZiQ.js → gift-links-CsUhefWG.js} +1 -1
- package/core/built/admin/assets/growth-B3I6gNLm.js +1 -0
- package/core/built/admin/assets/{Growth-CSaHoSVD.js → growth-CVw1My4S.js} +2 -2
- package/core/built/admin/assets/{hooks-BApwwBE0.js → hooks-CixO01lL.js} +1 -1
- package/core/built/admin/assets/{inbox-BRp1_aaC.js → inbox-CFBSu4Ed.js} +12 -12
- package/core/built/admin/assets/index-9Cw8z3rA.css +1 -0
- package/core/built/admin/assets/index-BGG7NckO.js +67 -0
- package/core/built/admin/assets/input-group-BSgG_lVw.js +1 -0
- package/core/built/admin/assets/input-surface-BpAjZXY5.js +1 -0
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +974 -937
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +28 -28
- package/core/built/admin/assets/koenig-lexical/style.css +1 -1
- package/core/built/admin/assets/{koenig-lexical-CM7UFNdL.js → koenig-lexical-f8vHRYvz.js} +28 -28
- package/core/built/admin/assets/{kpi-card-BrGH6FsT.js → kpi-card-DSap9rAy.js} +1 -1
- package/core/built/admin/assets/{kpi-card-CIGyijjx.js → kpi-card-DU0rn9Cj.js} +1 -1
- package/core/built/admin/assets/{kpi-helpers-_HRRsklE.js → kpi-helpers-Dz33AV6h.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-BSvh9eoq.js → kpi-tabs-BtTTrKvJ.js} +1 -1
- package/core/built/admin/assets/{label-BOR9XdKl.js → label-DS8Mi6G5.js} +1 -1
- package/core/built/admin/assets/label-picker-1DvSuLA1.js +1 -0
- package/core/built/admin/assets/labels-CDSUt4J_.js +1 -0
- package/core/built/admin/assets/layout-yQEi2qDM.js +1 -0
- package/core/built/admin/assets/{link-helpers-tOlxmuH5.js → link-helpers-7EYqvvHs.js} +1 -1
- package/core/built/admin/assets/member-custom-fields-yOMHyAg9.js +1 -0
- package/core/built/admin/assets/member-detail-BAq7gDaa.js +1 -0
- package/core/built/admin/assets/members-CQpVFJu4.js +10 -0
- package/core/built/admin/assets/modals-ReORvWnu.js +31 -0
- package/core/built/admin/assets/moderation-DySbgyUS.js +1 -0
- package/core/built/admin/assets/newsletter-CJQvtHqN.js +1 -0
- package/core/built/admin/assets/{Newsletters-C5cs6FGo.js → newsletters-B3QQXfGT.js} +1 -1
- package/core/built/admin/assets/{newsletters-D1jbtV-h.js → newsletters-BXJbJgA-.js} +1 -1
- package/core/built/admin/assets/note-C8kxrz6w.js +1 -0
- package/core/built/admin/assets/notifications-CgtSfX7t.js +1 -0
- package/core/built/admin/assets/{offers-CrY6nSRR.js → offers-DEniVRD5.js} +1 -1
- package/core/built/admin/assets/onboarding-route-4qtziA9d.js +1 -0
- package/core/built/admin/assets/overview-Bf2sbznq.js +1 -0
- package/core/built/admin/assets/overview-CBfePxcr.js +1 -0
- package/core/built/admin/assets/{page-header-C0jVxtS8.js → page-header-B3Wb9Jqv.js} +1 -1
- package/core/built/admin/assets/{pages-BbNWFcGj.js → pages-B4goRPUn.js} +1 -1
- package/core/built/admin/assets/{post-analytics-Iw7dk1mT.js → post-analytics-We-ko5Cb.js} +1 -1
- package/core/built/admin/assets/post-analytics-header-Bmc9su6q.js +1 -0
- package/core/built/admin/assets/post-analytics-provider-B6UynTGb.js +1 -0
- package/core/built/admin/assets/{post-share-modal-DBfKl2GZ.js → post-share-modal-DFfO93_0.js} +1 -1
- package/core/built/admin/assets/{posts-EWpZIjkr.js → posts-DhXE7b6r.js} +1 -1
- package/core/built/admin/assets/{preferences-D4EANGoc.js → preferences-DJPfHEGu.js} +2 -2
- package/core/built/admin/assets/profile-DqBQp-gT.js +1 -0
- package/core/built/admin/assets/{referrers-BCfFYSHc.js → referrers-pmJT4k3-.js} +1 -1
- package/core/built/admin/assets/select-C5_xEt5b.js +1 -0
- package/core/built/admin/assets/settings-BwiVIXau.js +4 -0
- package/core/built/admin/assets/{settings-Bz3RZRmE.js → settings-WXNeWyU1.js} +1 -1
- package/core/built/admin/assets/shade-app-B3heOAfz-CGXQwWeO.js +3 -0
- package/core/built/admin/assets/{share-modal-CkdTTMJd.js → share-modal-DsgW3wbg.js} +1 -1
- package/core/built/admin/assets/social-urls-BQPFEk1_.js +8 -0
- package/core/built/admin/assets/{sort-button-DZp9Y2r1.js → sort-button-Bb_FCl7e.js} +1 -1
- package/core/built/admin/assets/{source-icon-CHr9qJ2Y.js → source-icon-BeaRxUn9.js} +1 -1
- package/core/built/admin/assets/{stats-DGoXZxWE.js → stats-Bjj_kmJ1.js} +1 -1
- package/core/built/admin/assets/{stats-view-D2-1L0ms.js → stats-view-BxPbW6K1.js} +1 -1
- package/core/built/admin/assets/{step-1-RdahbwyG.js → step-1-B1e3-1F8.js} +1 -1
- package/core/built/admin/assets/{step-2-D83PeRwd.js → step-2-C5WaeBJo.js} +1 -1
- package/core/built/admin/assets/{step-3-p_Op4wv4.js → step-3-B46iVPwu.js} +2 -2
- package/core/built/admin/assets/switch-z5Y6Uzt6.js +1 -0
- package/core/built/admin/assets/{table-B8LgTQJZ.js → table-CB-4_HBJ.js} +1 -1
- package/core/built/admin/assets/tabs-CCEgKYzq.js +1 -0
- package/core/built/admin/assets/{tags-B4l891z2.js → tags-Cg2VJGmG.js} +1 -1
- package/core/built/admin/assets/textarea-Bjccvh_E.js +1 -0
- package/core/built/admin/assets/{tiers-BgYLWRJv.js → tiers-DYsa4DCo.js} +1 -1
- package/core/built/admin/assets/{toggle-group-DNXDkAwf.js → toggle-group-b3IlxvhV.js} +1 -1
- package/core/built/admin/assets/{topic-filter-DZGjEcz3.js → topic-filter-DAFT87tQ.js} +1 -1
- package/core/built/admin/assets/{use-analytics-data-CaT8RirX.js → use-analytics-data-S0FTd43s.js} +1 -1
- package/core/built/admin/assets/use-filter-params-Gpoq2E1L.js +1 -0
- package/core/built/admin/assets/{use-growth-stats-9Db2CuJe.js → use-growth-stats-CIaiHOVb.js} +1 -1
- package/core/built/admin/assets/{use-post-referrers-BV54YcQS.js → use-post-referrers-Cq2vBPrA.js} +1 -1
- package/core/built/admin/assets/{use-reply-chain-data-DuYZGDan.js → use-reply-chain-data-DBDRtGu-.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-8fTua9Nt.js → use-simple-pagination-CjYNxdwe.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-query-Dz156HvZ.js → use-tinybird-query-falHAtuK.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-token-C9RUdL_n.js → use-tinybird-token-D7-8ND1y.js} +1 -1
- package/core/built/admin/assets/{users-CcSCQFcQ.js → users-Dkv8NQZe.js} +1 -1
- package/core/built/admin/assets/{virtual-list-BCvP0YF-.js → virtual-list-CvnC9zF2.js} +1 -1
- package/core/built/admin/assets/web-B_5GZRvH.js +1 -0
- package/core/built/admin/assets/web-jFYWCKDn.js +2 -0
- package/core/built/admin/index.html +14 -10
- package/core/frontend/services/proxy.js +10 -1
- package/core/frontend/services/routing/router-manager.js +14 -14
- package/core/frontend/services/routing/static-routes-router.js +8 -10
- package/core/server/adapters/storage/LocalFilesStorage.js +13 -11
- package/core/server/adapters/storage/LocalFilesStorage.ts +24 -0
- package/core/server/adapters/storage/LocalImagesStorage.js +14 -12
- package/core/server/adapters/storage/LocalImagesStorage.ts +24 -0
- package/core/server/adapters/storage/LocalMediaStorage.js +13 -11
- package/core/server/adapters/storage/LocalMediaStorage.ts +24 -0
- package/core/server/adapters/storage/LocalStorageBase.js +107 -167
- package/core/server/adapters/storage/LocalStorageBase.ts +342 -0
- package/core/server/adapters/storage/utils.js +36 -50
- package/core/server/adapters/storage/utils.ts +60 -0
- package/core/server/api/endpoints/automation-action-links.js +68 -0
- package/core/server/api/endpoints/automation-action-links.ts +46 -0
- package/core/server/api/endpoints/db.js +6 -0
- package/core/server/api/endpoints/index.js +4 -0
- package/core/server/api/endpoints/members.js +25 -28
- package/core/server/api/endpoints/pages.js +6 -1
- package/core/server/api/endpoints/posts.js +11 -2
- package/core/server/api/endpoints/settings.js +0 -2
- package/core/server/api/endpoints/utils/serializers/output/mappers/comments.js +4 -1
- package/core/server/api/endpoints/utils/serializers/output/members.js +18 -87
- package/core/server/api/endpoints/utils/serializers/output/utils/url.js +11 -1
- package/core/server/data/exporter/export-filename.js +2 -1
- package/core/server/data/importer/importers/data/revue-subscriber-importer.js +6 -10
- package/core/server/data/importer/importers/json-to-html.js +24 -4
- package/core/server/data/migrations/versions/6.55/2026-07-27-11-25-44-add-to-hash-to-redirects.js +51 -0
- package/core/server/data/migrations/versions/6.55/2026-07-28-12-08-00-remove-routes-hash-from-settings.js +5 -0
- package/core/server/data/schema/commands.js +5 -0
- package/core/server/data/schema/default-settings/default-settings.json +0 -4
- package/core/server/data/schema/schema.js +5 -1
- package/core/server/lib/image/image-size.js +3 -17
- package/core/server/lib/image/image-utils.js +15 -1
- package/core/server/lib/request-external.js +1 -1
- package/core/server/models/user.js +46 -70
- package/core/server/services/auth/session/session-service.js +28 -1
- package/core/server/services/automations/automations-api.js +21 -6
- package/core/server/services/automations/automations-api.ts +25 -6
- package/core/server/services/automations/automations-repository.ts +19 -0
- package/core/server/services/automations/database-automations-repository.js +116 -28
- package/core/server/services/automations/database-automations-repository.ts +118 -9
- package/core/server/services/automations/database-date.js +10 -0
- package/core/server/services/automations/database-date.ts +5 -0
- package/core/server/services/automations/poll.js +5 -2
- package/core/server/services/automations/poll.ts +7 -2
- package/core/server/services/automations/scheduler-poll-time.js +40 -0
- package/core/server/services/automations/scheduler-poll-time.ts +38 -0
- package/core/server/services/automations/service.js +15 -3
- package/core/server/services/automations/service.ts +16 -3
- package/core/server/services/comments/comments-service-emails.js +14 -8
- package/core/server/services/comments/comments-service.js +9 -4
- package/core/server/services/email-rendering/partials/email-wrapper.hbs +3 -1
- package/core/server/services/email-service/email-service-wrapper.js +6 -1
- package/core/server/services/email-service/email-templates/partials/styles.hbs +8 -0
- package/core/server/services/email-service/newsletter-email-event-storage.js +41 -10
- package/core/server/services/lib/dynamic-redirect-manager.js +12 -3
- package/core/server/services/link-redirection/link-redirect-repository.js +41 -4
- package/core/server/services/link-redirection/link-redirect.js +2 -0
- package/core/server/services/link-redirection/link-redirect.ts +3 -1
- package/core/server/services/link-redirection/link-redirects-service.js +38 -2
- package/core/server/services/link-tracking/click-event.js +3 -0
- package/core/server/services/link-tracking/index.js +38 -6
- package/core/server/services/link-tracking/link-click-repository.js +30 -9
- package/core/server/services/link-tracking/link-click-tracking-service.js +44 -3
- package/core/server/services/member-attribution/outbound-link-tagger.js +3 -1
- package/core/server/services/member-welcome-emails/member-welcome-email-renderer.js +19 -4
- package/core/server/services/member-welcome-emails/service.js +11 -3
- package/core/server/services/members/{importer → import-export}/config.js +4 -9
- package/core/server/services/members/{importer → import-export}/config.ts +4 -9
- package/core/server/services/members/import-export/csv/formula.js +16 -0
- package/core/server/services/members/import-export/csv/formula.ts +14 -0
- package/core/server/services/members/import-export/csv/index.js +12 -0
- package/core/server/services/members/import-export/csv/index.ts +3 -0
- package/core/server/services/members/import-export/csv/parse.js +64 -0
- package/core/server/services/members/import-export/csv/parse.ts +69 -0
- package/core/server/services/members/import-export/csv/serialize.js +13 -0
- package/core/server/services/members/import-export/csv/serialize.ts +18 -0
- package/core/server/services/members/import-export/export/exporter.js +202 -0
- package/core/server/services/members/import-export/export/exporter.ts +325 -0
- package/core/server/services/members/import-export/import/completion-email.js +84 -0
- package/core/server/services/members/import-export/import/completion-email.ts +141 -0
- package/core/server/services/members/import-export/import/importer.js +297 -0
- package/core/server/services/members/import-export/import/importer.ts +468 -0
- package/core/server/services/members/import-export/import/reader.js +32 -0
- package/core/server/services/members/import-export/import/reader.ts +33 -0
- package/core/server/services/members/import-export/import/row.js +33 -0
- package/core/server/services/members/import-export/import/row.ts +52 -0
- package/core/server/services/members/import-export/import/spool.js +30 -0
- package/core/server/services/members/import-export/import/spool.ts +38 -0
- package/core/server/services/members/import-export/index.js +99 -0
- package/core/server/services/members/import-export/index.ts +137 -0
- package/core/server/services/members/members-api/controllers/router-controller.js +7 -0
- package/core/server/services/members/service.js +25 -20
- package/core/server/services/members-custom-fields/values-service.js +19 -7
- package/core/server/services/members-custom-fields/values-service.ts +19 -7
- package/core/server/services/mentions/service.js +5 -1
- package/core/server/services/posts/posts-exporter.js +6 -4
- package/core/server/services/posts/posts-service.js +2 -2
- package/core/server/services/route-settings/activation-bridge.js +59 -49
- package/core/server/services/route-settings/activation-bridge.ts +91 -51
- package/core/server/services/route-settings/dynamic-routing-service.js +22 -51
- package/core/server/services/route-settings/index.js +1 -16
- package/core/server/services/settings/settings-service.js +0 -18
- package/core/server/services/themes/storage.js +9 -0
- package/core/server/services/themes/theme-storage.js +1 -1
- package/core/server/services/url/url-service-facade.js +1 -1
- package/core/server/services/url/url-service-facade.ts +8 -1
- package/core/server/web/api/endpoints/admin/routes.js +1 -0
- package/core/shared/config/defaults.json +2 -1
- package/core/shared/express.js +6 -1
- package/core/shared/labs.js +2 -1
- package/package.json +11 -11
- package/pnpm-lock.yaml +18 -18
- package/pnpm-workspace.yaml +8 -7
- package/components/tryghost-adapter-base-scheduling-0.1.1.tgz +0 -0
- package/core/built/admin/assets/Overview-j4NaeUNm.js +0 -1
- package/core/built/admin/assets/Web-_fD935OX.js +0 -2
- package/core/built/admin/assets/activitypub/layout-IdVq3lRy.js +0 -1
- package/core/built/admin/assets/audience-BKRdsFmy.js +0 -1
- package/core/built/admin/assets/checkbox-DA4-1UiI.js +0 -1
- package/core/built/admin/assets/chunk.524.45e0875f41b71e46e849.js +0 -25
- package/core/built/admin/assets/chunk.582.51defd4b009f0de8d4d5.js +0 -27
- package/core/built/admin/assets/code-editor-view-BKBrkffZ.js +0 -1
- package/core/built/admin/assets/comments-CzVNIT8b.js +0 -1
- package/core/built/admin/assets/constants-c-JNF9c2.js +0 -1
- package/core/built/admin/assets/dist-CT46_f_J.js +0 -1
- package/core/built/admin/assets/domain-B7_n5nfx.js +0 -1
- package/core/built/admin/assets/dropzone-DcuJEEUf.js +0 -5
- package/core/built/admin/assets/editor-BCiIyFjm.js +0 -8
- package/core/built/admin/assets/field-BW-M2Zwp.js +0 -1
- package/core/built/admin/assets/filters-DtcXMZDU.js +0 -1
- package/core/built/admin/assets/gift-link-modal-Bk8qpnMw.js +0 -1
- package/core/built/admin/assets/growth-Ck2s3JjR.js +0 -1
- package/core/built/admin/assets/index-BBf502Wg.js +0 -69
- package/core/built/admin/assets/index-BCCZKxP2.css +0 -1
- package/core/built/admin/assets/input-group-DjuYnNCd.js +0 -1
- package/core/built/admin/assets/label-picker-BdNAWuUX.js +0 -1
- package/core/built/admin/assets/labels-Cyayfd-e.js +0 -1
- package/core/built/admin/assets/layout-Bw4GnxXp.js +0 -1
- package/core/built/admin/assets/member-custom-fields-DvFyamLu.js +0 -1
- package/core/built/admin/assets/member-detail-Cg2vTqvJ.js +0 -1
- package/core/built/admin/assets/members-DsPxYAVm.js +0 -10
- package/core/built/admin/assets/modals-Bf_fyvHZ.js +0 -31
- package/core/built/admin/assets/moderation-Dlp7M5sa.js +0 -1
- package/core/built/admin/assets/multi-select-combobox-CH1o8XXQ.js +0 -1
- package/core/built/admin/assets/newsletter-CQ5CAYUI.js +0 -1
- package/core/built/admin/assets/note-BrAZ7Z0o.js +0 -1
- package/core/built/admin/assets/notifications-BnbHLOPC.js +0 -1
- package/core/built/admin/assets/onboarding-route-eU146kuA.js +0 -1
- package/core/built/admin/assets/overview-BpbaK-xu.js +0 -1
- package/core/built/admin/assets/post-analytics-header-D9pJ4iNm.js +0 -1
- package/core/built/admin/assets/post-analytics-provider-BDqcfBor.js +0 -1
- package/core/built/admin/assets/profile-dJ44Bn_W.js +0 -1
- package/core/built/admin/assets/select--2uVN9_-.js +0 -1
- package/core/built/admin/assets/settings-SD9bxIpt.js +0 -4
- package/core/built/admin/assets/social-urls-BvFZwYcE.js +0 -8
- package/core/built/admin/assets/switch-qp518gFQ.js +0 -1
- package/core/built/admin/assets/tabs-D3ZOYkM7.js +0 -1
- package/core/built/admin/assets/textarea-CTlb3Uu6.js +0 -1
- package/core/built/admin/assets/use-filter-params-DeQ8sX4N.js +0 -1
- package/core/built/admin/assets/web-DTZnnUGr.js +0 -1
- package/core/server/services/mail/templates/newsletter.html +0 -876
- package/core/server/services/members/csv/index.js +0 -10
- package/core/server/services/members/csv/index.ts +0 -3
- package/core/server/services/members/csv/parse.js +0 -94
- package/core/server/services/members/csv/parse.ts +0 -111
- package/core/server/services/members/csv/types.js +0 -2
- package/core/server/services/members/csv/types.ts +0 -39
- package/core/server/services/members/csv/unparse.js +0 -69
- package/core/server/services/members/csv/unparse.ts +0 -79
- package/core/server/services/members/exporter/query.js +0 -233
- package/core/server/services/members/importer/index.js +0 -30
- package/core/server/services/members/importer/labels.js +0 -125
- package/core/server/services/members/importer/members-csv-importer.js +0 -520
- package/core/server/services/route-settings/default-settings-manager.js +0 -63
- package/core/server/services/route-settings/route-settings.js +0 -170
- package/core/server/services/route-settings/settings-loader.js +0 -60
- package/core/server/services/route-settings/settings-path-manager.js +0 -47
- package/core/server/services/route-settings/validate.js +0 -440
- /package/core/server/services/members/{importer → import-export/import}/email-template.js +0 -0
- /package/core/server/services/members/{importer/members-csv-importer-stripe-utils.js → import-export/import/stripe-utils.js} +0 -0
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<link rel="stylesheet" href="./assets/vendor-3bf602dfa6463c3400ffd81697767274.css">
|
|
5
|
-
<link rel="stylesheet" href="./assets/ghost-
|
|
6
|
-
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%226.
|
|
5
|
+
<link rel="stylesheet" href="./assets/ghost-a9c788f6f0b1ea6cf0f14ca4b13f4496.css">
|
|
6
|
+
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%226.55%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%22e35f1aa34a%22%2C%22activitypubFilename%22%3A%22activitypub.js%22%2C%22activitypubHash%22%3A%22d7e993cdd1%22%2C%22activitypubRemoteConfigUrl%22%3A%22%2F.ghost%2Factivitypub%2Fstable%2Fclient-config%22%7D">
|
|
7
7
|
|
|
8
8
|
<meta charset="UTF-8" />
|
|
9
9
|
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
|
|
21
21
|
<link rel="shortcut icon" href="./assets/favicon-C_q1KHzv.ico" />
|
|
22
22
|
<link rel="apple-touch-icon" href="./assets/apple-touch-icon-DhO18_4B.png" />
|
|
23
|
-
<script type="module" crossorigin src="./assets/index-
|
|
23
|
+
<script type="module" crossorigin src="./assets/index-BGG7NckO.js"></script>
|
|
24
24
|
<link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-DAXXjFlN.js">
|
|
25
25
|
<link rel="modulepreload" crossorigin href="./assets/react-Bb3IsNbi.js">
|
|
26
26
|
<link rel="modulepreload" crossorigin href="./assets/jsx-runtime-DX3WBWVO.js">
|
|
27
27
|
<link rel="modulepreload" crossorigin href="./assets/framework-provider-CmtnPXIT.js">
|
|
28
28
|
<link rel="modulepreload" crossorigin href="./assets/dist-Ndy-PuGN.js">
|
|
29
|
-
<link rel="modulepreload" crossorigin href="./assets/hooks-
|
|
29
|
+
<link rel="modulepreload" crossorigin href="./assets/hooks-CixO01lL.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="./assets/dist-DGzPJ_bO.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="./assets/dist-CQJY6SVY.js">
|
|
32
32
|
<link rel="modulepreload" crossorigin href="./assets/dist-P_ohUlTi.js">
|
|
@@ -35,9 +35,13 @@
|
|
|
35
35
|
<link rel="modulepreload" crossorigin href="./assets/chunk-KS7C4IRE-DG9HTHQ3.js">
|
|
36
36
|
<link rel="modulepreload" crossorigin href="./assets/router-provider-C1R4AZ2o.js">
|
|
37
37
|
<link rel="modulepreload" crossorigin href="./assets/text-DwtjwGkh.js">
|
|
38
|
+
<link rel="modulepreload" crossorigin href="./assets/shade-app-B3heOAfz-CGXQwWeO.js">
|
|
39
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-CjY-f5Z1.js">
|
|
40
|
+
<link rel="modulepreload" crossorigin href="./assets/dist-2Tnz2Yfq.js">
|
|
41
|
+
<link rel="modulepreload" crossorigin href="./assets/input-surface-BpAjZXY5.js">
|
|
38
42
|
<link rel="modulepreload" crossorigin href="./assets/update-queries-C4CnvJaW.js">
|
|
39
|
-
<link rel="modulepreload" crossorigin href="./assets/users-
|
|
40
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
43
|
+
<link rel="modulepreload" crossorigin href="./assets/users-Dkv8NQZe.js">
|
|
44
|
+
<link rel="stylesheet" crossorigin href="./assets/index-9Cw8z3rA.css">
|
|
41
45
|
</head>
|
|
42
46
|
<body class="react-admin">
|
|
43
47
|
<div id="ember-alerts-wormhole"></div>
|
|
@@ -57,9 +61,9 @@
|
|
|
57
61
|
<div id="ember-liquid-wormhole"></div>
|
|
58
62
|
<div id="ember-notifications-wormhole"></div>
|
|
59
63
|
<script src="./assets/vendor-25f0bb2b2de85265afdf33da79f14a44.js"></script>
|
|
60
|
-
<script src="./assets/chunk.
|
|
61
|
-
<script src="./assets/chunk.
|
|
62
|
-
<script src="./assets/chunk.524.
|
|
63
|
-
<script src="./assets/ghost-
|
|
64
|
+
<script src="./assets/chunk.211.6f7328d63c41536451b3.js"></script>
|
|
65
|
+
<script src="./assets/chunk.481.6c7395a49484bb4583aa.js"></script>
|
|
66
|
+
<script src="./assets/chunk.524.cffd399783a519e404a9.js"></script>
|
|
67
|
+
<script src="./assets/ghost-c4057474943effc568c5659ccc4909d7.js"></script>
|
|
64
68
|
</body>
|
|
65
69
|
</html>
|
|
@@ -16,6 +16,11 @@ const FRONTEND_SUBSCRIBABLE_EVENTS = ['site.changed', 'url.added', 'url.removed'
|
|
|
16
16
|
// Require from the handlebars framework
|
|
17
17
|
const {SafeString} = require('./handlebars');
|
|
18
18
|
|
|
19
|
+
// sanitize-html over DOMPurify here: DOMPurify needs a DOM, and jsdom costs
|
|
20
|
+
// ~116MB RSS to load. This module is on the boot path, so that was paid by
|
|
21
|
+
// every process — including ones that never render a caption.
|
|
22
|
+
const sanitizeHtml = require('sanitize-html');
|
|
23
|
+
|
|
19
24
|
module.exports = {
|
|
20
25
|
getFrontendKey: async () => {
|
|
21
26
|
try {
|
|
@@ -44,7 +49,11 @@ module.exports = {
|
|
|
44
49
|
(Array.isArray(data) ? data : [data]).forEach((resource) => {
|
|
45
50
|
// feature_image_caption contains HTML, making it a SafeString spares theme devs from triple-curlies
|
|
46
51
|
if (resource.feature_image_caption) {
|
|
47
|
-
|
|
52
|
+
const sanitizedCaption = sanitizeHtml(resource.feature_image_caption, {
|
|
53
|
+
allowedTags: ['a', 'b', 'i', 'span'],
|
|
54
|
+
allowedAttributes: {'*': ['href', 'style']}
|
|
55
|
+
});
|
|
56
|
+
resource.feature_image_caption = new SafeString(sanitizedCaption);
|
|
48
57
|
}
|
|
49
58
|
|
|
50
59
|
// some properties are extracted to local template data to force one way of using it
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
const debug = require('@tryghost/debug')('frontend:routing');
|
|
2
|
-
const _ = require('lodash');
|
|
3
2
|
const StaticRoutesRouter = require('./static-routes-router');
|
|
4
3
|
const StaticPagesRouter = require('./static-pages-router');
|
|
5
4
|
const CollectionRouter = require('./collection-router');
|
|
@@ -111,30 +110,30 @@ class RouterManager {
|
|
|
111
110
|
this.siteRouter.mountRouter(previewRouter.router());
|
|
112
111
|
this.registry.setRouter('previewRouter', previewRouter);
|
|
113
112
|
|
|
114
|
-
|
|
115
|
-
const staticRoutesRouter = new StaticRoutesRouter(
|
|
113
|
+
for (const route of routerSettings.routes) {
|
|
114
|
+
const staticRoutesRouter = new StaticRoutesRouter(route.path, route, this.routerCreated.bind(this));
|
|
116
115
|
this.siteRouter.mountRouter(staticRoutesRouter.router());
|
|
117
116
|
|
|
118
117
|
this.registry.setRouter(staticRoutesRouter.identifier, staticRoutesRouter);
|
|
119
|
-
}
|
|
118
|
+
}
|
|
120
119
|
|
|
121
|
-
|
|
122
|
-
const collectionRouter = new CollectionRouter(
|
|
120
|
+
for (const collection of routerSettings.collections) {
|
|
121
|
+
const collectionRouter = new CollectionRouter(collection.path, collection, RESOURCE_CONFIG, this.routerCreated.bind(this));
|
|
123
122
|
this.siteRouter.mountRouter(collectionRouter.router());
|
|
124
123
|
this.registry.setRouter(collectionRouter.identifier, collectionRouter);
|
|
125
|
-
}
|
|
124
|
+
}
|
|
126
125
|
|
|
127
126
|
const staticPagesRouter = new StaticPagesRouter(RESOURCE_CONFIG, this.routerCreated.bind(this));
|
|
128
127
|
this.siteRouter.mountRouter(staticPagesRouter.router());
|
|
129
128
|
|
|
130
129
|
this.registry.setRouter('staticPagesRouter', staticPagesRouter);
|
|
131
130
|
|
|
132
|
-
|
|
133
|
-
const taxonomyRouter = new TaxonomyRouter(key,
|
|
131
|
+
for (const taxonomy of routerSettings.taxonomies) {
|
|
132
|
+
const taxonomyRouter = new TaxonomyRouter(taxonomy.key, taxonomy.permalink, RESOURCE_CONFIG, this.routerCreated.bind(this));
|
|
134
133
|
this.siteRouter.mountRouter(taxonomyRouter.router());
|
|
135
134
|
|
|
136
135
|
this.registry.setRouter(taxonomyRouter.identifier, taxonomyRouter);
|
|
137
|
-
}
|
|
136
|
+
}
|
|
138
137
|
|
|
139
138
|
const appRouter = new ParentRouter('AppsRouter');
|
|
140
139
|
this.siteRouter.mountRouter(appRouter.router());
|
|
@@ -186,10 +185,11 @@ module.exports = RouterManager;
|
|
|
186
185
|
*/
|
|
187
186
|
|
|
188
187
|
/**
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
*
|
|
192
|
-
*
|
|
188
|
+
* The shape RouterManager consumes — produced by the activation bridge. This is
|
|
189
|
+
* a temporary reference into server code; when the bridge is removed (HKG-1898)
|
|
190
|
+
* it becomes the domain `RouteSettings` from @tryghost/adapter-base-route-settings.
|
|
191
|
+
*
|
|
192
|
+
* @typedef {import('../../../server/services/route-settings/activation-bridge').RouterSettings} RouteSettings
|
|
193
193
|
*/
|
|
194
194
|
|
|
195
195
|
/**
|
|
@@ -30,12 +30,12 @@ class StaticRoutesRouter extends ParentRouter {
|
|
|
30
30
|
this.limit = object.limit;
|
|
31
31
|
this.order = object.order;
|
|
32
32
|
|
|
33
|
-
this.
|
|
33
|
+
this.type = object.type;
|
|
34
34
|
|
|
35
35
|
debug(this.route.value, this.templates, this.filter, this.data);
|
|
36
36
|
this._registerChannelRoutes();
|
|
37
37
|
} else {
|
|
38
|
-
this.contentType = object.
|
|
38
|
+
this.contentType = object.contentType;
|
|
39
39
|
debug(this.route.value, this.templates);
|
|
40
40
|
this._registerStaticRoute();
|
|
41
41
|
}
|
|
@@ -56,11 +56,11 @@ class StaticRoutesRouter extends ParentRouter {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
// REGISTER: channel route
|
|
59
|
-
this.mountRoute(this.route.value, controllers[this.
|
|
59
|
+
this.mountRoute(this.route.value, controllers[this.type]);
|
|
60
60
|
|
|
61
61
|
// REGISTER: pagination
|
|
62
62
|
this.router().param('page', middleware.pageParam);
|
|
63
|
-
this.mountRoute(urlUtils.urlJoin(this.route.value, 'page', ':page(\\d+)'), controllers[this.
|
|
63
|
+
this.mountRoute(urlUtils.urlJoin(this.route.value, 'page', ':page(\\d+)'), controllers[this.type]);
|
|
64
64
|
|
|
65
65
|
this.routerCreated(this);
|
|
66
66
|
}
|
|
@@ -74,7 +74,7 @@ class StaticRoutesRouter extends ParentRouter {
|
|
|
74
74
|
*/
|
|
75
75
|
_prepareChannelContext(req, res, next) {
|
|
76
76
|
res.routerOptions = {
|
|
77
|
-
type: this.
|
|
77
|
+
type: this.type,
|
|
78
78
|
name: this.routerName,
|
|
79
79
|
context: [this.routerName],
|
|
80
80
|
filter: this.filter,
|
|
@@ -131,11 +131,9 @@ class StaticRoutesRouter extends ParentRouter {
|
|
|
131
131
|
* @returns {boolean}
|
|
132
132
|
*/
|
|
133
133
|
isChannel(object) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return this.controller === 'channel';
|
|
134
|
+
// buildRouterSettings always sets `type` ('channel' | 'template') on
|
|
135
|
+
// every route, so a channel is simply `type === 'channel'`.
|
|
136
|
+
return object?.type === 'channel';
|
|
139
137
|
}
|
|
140
138
|
}
|
|
141
139
|
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
6
|
// # Local File System Storage module
|
|
2
7
|
// The (default) module for storing media, using the local file system
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
8
|
+
const config_1 = __importDefault(require("../../../shared/config"));
|
|
9
|
+
const url_utils_1 = __importDefault(require("../../../shared/url-utils"));
|
|
10
|
+
const LocalStorageBase_1 = __importDefault(require("./LocalStorageBase"));
|
|
7
11
|
const messages = {
|
|
8
12
|
notFound: 'File not found',
|
|
9
13
|
notFoundWithRef: 'File not found: {file}',
|
|
10
14
|
cannotRead: 'Could not read File: {file}'
|
|
11
15
|
};
|
|
12
|
-
|
|
13
|
-
class LocalFilesStorage extends LocalStorageBase {
|
|
16
|
+
class LocalFilesStorage extends LocalStorageBase_1.default {
|
|
14
17
|
constructor() {
|
|
15
18
|
super({
|
|
16
|
-
storagePath:
|
|
17
|
-
siteUrl:
|
|
18
|
-
staticFileURLPrefix:
|
|
19
|
+
storagePath: config_1.default.getContentPath('files'),
|
|
20
|
+
siteUrl: config_1.default.getSiteUrl(),
|
|
21
|
+
staticFileURLPrefix: url_utils_1.default.STATIC_FILES_URL_PREFIX,
|
|
19
22
|
errorMessages: messages
|
|
20
23
|
});
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
|
-
|
|
24
|
-
module.exports = LocalFilesStorage;
|
|
26
|
+
exports.default = LocalFilesStorage;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// # Local File System Storage module
|
|
2
|
+
// The (default) module for storing media, using the local file system
|
|
3
|
+
import config from '../../../shared/config';
|
|
4
|
+
import urlUtils from '../../../shared/url-utils';
|
|
5
|
+
import LocalStorageBase from './LocalStorageBase';
|
|
6
|
+
|
|
7
|
+
const messages = {
|
|
8
|
+
notFound: 'File not found',
|
|
9
|
+
notFoundWithRef: 'File not found: {file}',
|
|
10
|
+
cannotRead: 'Could not read File: {file}'
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
class LocalFilesStorage extends LocalStorageBase {
|
|
14
|
+
constructor() {
|
|
15
|
+
super({
|
|
16
|
+
storagePath: config.getContentPath('files'),
|
|
17
|
+
siteUrl: config.getSiteUrl(),
|
|
18
|
+
staticFileURLPrefix: urlUtils.STATIC_FILES_URL_PREFIX,
|
|
19
|
+
errorMessages: messages
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export default LocalFilesStorage;
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
6
|
// # Local File System Image Storage module
|
|
2
7
|
// The (default) module for storing images, using the local file system
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
let messages = {
|
|
8
|
+
const config_1 = __importDefault(require("../../../shared/config"));
|
|
9
|
+
const url_utils_1 = __importDefault(require("../../../shared/url-utils"));
|
|
10
|
+
const LocalStorageBase_1 = __importDefault(require("./LocalStorageBase"));
|
|
11
|
+
const messages = {
|
|
8
12
|
notFound: 'Image not found',
|
|
9
13
|
notFoundWithRef: 'Image not found: {file}',
|
|
10
14
|
cannotRead: 'Could not read image: {file}'
|
|
11
15
|
};
|
|
12
|
-
|
|
13
|
-
class LocalImagesStorage extends LocalStorageBase {
|
|
16
|
+
class LocalImagesStorage extends LocalStorageBase_1.default {
|
|
14
17
|
constructor() {
|
|
15
18
|
super({
|
|
16
|
-
storagePath:
|
|
17
|
-
staticFileURLPrefix:
|
|
18
|
-
siteUrl:
|
|
19
|
+
storagePath: config_1.default.getContentPath('images'),
|
|
20
|
+
staticFileURLPrefix: url_utils_1.default.STATIC_IMAGE_URL_PREFIX,
|
|
21
|
+
siteUrl: config_1.default.getSiteUrl(),
|
|
19
22
|
errorMessages: messages
|
|
20
23
|
});
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
|
-
|
|
24
|
-
module.exports = LocalImagesStorage;
|
|
26
|
+
exports.default = LocalImagesStorage;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// # Local File System Image Storage module
|
|
2
|
+
// The (default) module for storing images, using the local file system
|
|
3
|
+
import config from '../../../shared/config';
|
|
4
|
+
import urlUtils from '../../../shared/url-utils';
|
|
5
|
+
import LocalStorageBase from './LocalStorageBase';
|
|
6
|
+
|
|
7
|
+
const messages = {
|
|
8
|
+
notFound: 'Image not found',
|
|
9
|
+
notFoundWithRef: 'Image not found: {file}',
|
|
10
|
+
cannotRead: 'Could not read image: {file}'
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
class LocalImagesStorage extends LocalStorageBase {
|
|
14
|
+
constructor() {
|
|
15
|
+
super({
|
|
16
|
+
storagePath: config.getContentPath('images'),
|
|
17
|
+
staticFileURLPrefix: urlUtils.STATIC_IMAGE_URL_PREFIX,
|
|
18
|
+
siteUrl: config.getSiteUrl(),
|
|
19
|
+
errorMessages: messages
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export default LocalImagesStorage;
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
6
|
// # Local File System Media Storage module
|
|
2
7
|
// The (default) module for storing media, using the local file system
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
8
|
+
const config_1 = __importDefault(require("../../../shared/config"));
|
|
9
|
+
const url_utils_1 = __importDefault(require("../../../shared/url-utils"));
|
|
10
|
+
const LocalStorageBase_1 = __importDefault(require("./LocalStorageBase"));
|
|
7
11
|
const messages = {
|
|
8
12
|
notFound: 'Media file not found',
|
|
9
13
|
notFoundWithRef: 'Media file not found: {file}',
|
|
10
14
|
cannotRead: 'Could not read media file: {file}'
|
|
11
15
|
};
|
|
12
|
-
|
|
13
|
-
class LocalMediaStorage extends LocalStorageBase {
|
|
16
|
+
class LocalMediaStorage extends LocalStorageBase_1.default {
|
|
14
17
|
constructor() {
|
|
15
18
|
super({
|
|
16
|
-
storagePath:
|
|
17
|
-
staticFileURLPrefix:
|
|
18
|
-
siteUrl:
|
|
19
|
+
storagePath: config_1.default.getContentPath('media'),
|
|
20
|
+
staticFileURLPrefix: url_utils_1.default.STATIC_MEDIA_URL_PREFIX,
|
|
21
|
+
siteUrl: config_1.default.getSiteUrl(),
|
|
19
22
|
errorMessages: messages
|
|
20
23
|
});
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
|
-
|
|
24
|
-
module.exports = LocalMediaStorage;
|
|
26
|
+
exports.default = LocalMediaStorage;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// # Local File System Media Storage module
|
|
2
|
+
// The (default) module for storing media, using the local file system
|
|
3
|
+
import config from '../../../shared/config';
|
|
4
|
+
import urlUtils from '../../../shared/url-utils';
|
|
5
|
+
import LocalStorageBase from './LocalStorageBase';
|
|
6
|
+
|
|
7
|
+
const messages = {
|
|
8
|
+
notFound: 'Media file not found',
|
|
9
|
+
notFoundWithRef: 'Media file not found: {file}',
|
|
10
|
+
cannotRead: 'Could not read media file: {file}'
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
class LocalMediaStorage extends LocalStorageBase {
|
|
14
|
+
constructor() {
|
|
15
|
+
super({
|
|
16
|
+
storagePath: config.getContentPath('media'),
|
|
17
|
+
staticFileURLPrefix: urlUtils.STATIC_MEDIA_URL_PREFIX,
|
|
18
|
+
siteUrl: config.getSiteUrl(),
|
|
19
|
+
errorMessages: messages
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export default LocalMediaStorage;
|