ghost 5.130.2 → 6.0.0-alpha.2

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.
Files changed (281) hide show
  1. package/components/tryghost-i18n-6.0.0-alpha.2.tgz +0 -0
  2. package/core/boot.js +0 -2
  3. package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +1 -1
  4. package/core/built/admin/assets/admin-x-activitypub/{index-B8te98RZ.mjs → index-BZDwG-OG.mjs} +7397 -7385
  5. package/core/built/admin/assets/admin-x-activitypub/{index-C8qwgKWF.mjs → index-DTlSQCGz.mjs} +2 -2
  6. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-CAtv7MlN.mjs → CodeEditorView-CCUvrZhe.mjs} +2 -2
  7. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +3 -3
  8. package/core/built/admin/assets/admin-x-settings/{index-BVxh86CD.mjs → index-Cubs_8W6.mjs} +8088 -8532
  9. package/core/built/admin/assets/admin-x-settings/{index-DUhmXSBR.mjs → index-D0ejKdD5.mjs} +2 -2
  10. package/core/built/admin/assets/admin-x-settings/{modals-B5dtfzsB.mjs → modals-DSxs9dLy.mjs} +1676 -1614
  11. package/core/built/admin/assets/{chunk.524.1f2faf572078e5b86b09.js → chunk.524.0953dd72ae1efbabe0de.js} +7 -7
  12. package/core/built/admin/assets/{chunk.582.675905fe8f9be138fb19.js → chunk.582.3caa825c2a91efc48f1d.js} +8 -8
  13. package/core/built/admin/assets/{ghost-280b83af263b51bc4d6ce5bd8f536096.js → ghost-db0f84981913aec8a672c57aa22da07a.js} +40 -45
  14. package/core/built/admin/assets/posts/posts.js +6549 -6537
  15. package/core/built/admin/assets/stats/stats.js +8824 -8812
  16. package/core/built/admin/index.html +3 -3
  17. package/core/frontend/helpers/get.js +4 -2
  18. package/core/frontend/helpers/ghost_head.js +71 -77
  19. package/core/frontend/meta/canonical-url.js +1 -7
  20. package/core/frontend/meta/context-object.js +1 -1
  21. package/core/frontend/meta/get-meta.js +1 -4
  22. package/core/frontend/meta/og-image.js +1 -1
  23. package/core/frontend/meta/og-type.js +0 -2
  24. package/core/frontend/meta/schema.js +1 -1
  25. package/core/frontend/meta/twitter-image.js +1 -1
  26. package/core/frontend/meta/url.js +1 -12
  27. package/core/frontend/services/rendering/context.js +0 -8
  28. package/core/frontend/web/middleware/static-theme.js +20 -1
  29. package/core/server/api/endpoints/index.js +0 -4
  30. package/core/server/api/endpoints/session.js +0 -9
  31. package/core/server/api/endpoints/utils/serializers/input/settings.js +0 -2
  32. package/core/server/api/endpoints/utils/serializers/input/utils/settings-filter-type-group-mapper.js +0 -1
  33. package/core/server/api/endpoints/utils/serializers/input/utils/settings-key-group-mapper.js +0 -1
  34. package/core/server/api/endpoints/utils/serializers/input/utils/settings-key-type-mapper.js +0 -1
  35. package/core/server/api/endpoints/utils/serializers/output/all.js +1 -1
  36. package/core/server/api/endpoints/utils/serializers/output/index.js +0 -4
  37. package/core/server/api/endpoints/utils/serializers/output/mappers/snippets.js +1 -5
  38. package/core/server/api/endpoints/utils/serializers/output/members.js +0 -2
  39. package/core/server/api/endpoints/utils/validators/input/index.js +0 -4
  40. package/core/server/data/importer/importers/data/Base.js +1 -3
  41. package/core/server/data/importer/importers/data/SettingsImporter.js +1 -3
  42. package/core/server/data/migrations/utils/index.js +1 -4
  43. package/core/server/data/migrations/utils/permissions.js +14 -6
  44. package/core/server/data/migrations/utils/settings.js +39 -22
  45. package/core/server/data/migrations/versions/4.47/2022-05-03-15-30-final-v4.js +2 -0
  46. package/core/server/data/migrations/versions/4.47/2022-05-04-10-03-no-op.js +6 -0
  47. package/core/server/data/migrations/versions/5.100/2024-11-06-04-45-15-add-activitypub-integration.js +4 -2
  48. package/core/server/data/migrations/versions/5.113/2025-03-07-12-24-00-add-super-editor.js +4 -2
  49. package/core/server/data/migrations/versions/5.3/2022-07-06-07-58-add-ghost-explore-integration-role.js +4 -2
  50. package/core/server/data/migrations/versions/5.3/2022-07-06-09-17-add-ghost-explore-integration.js +4 -2
  51. package/core/server/data/migrations/versions/5.3/2022-07-06-09-26-add-ghost-explore-integration-api-key.js +4 -2
  52. package/core/server/data/migrations/versions/5.40/2023-03-21-18-42-add-self-serve-integration-role.js +4 -2
  53. package/core/server/data/migrations/versions/5.40/2023-03-21-18-52-add-self-serve-integration.js +4 -2
  54. package/core/server/data/migrations/versions/5.40/2023-03-21-19-02-add-self-serve-integration-api-key.js +4 -2
  55. package/core/server/data/migrations/versions/5.63/2023-09-13-13-03-10-add-ghost-core-content-integration.js +4 -2
  56. package/core/server/data/migrations/versions/5.63/2023-09-13-13-34-11-add-ghost-core-content-integration-key.js +4 -2
  57. package/core/server/data/migrations/versions/6.0/2025-06-20-01-41-54-remove-updated-by-column.js +46 -0
  58. package/core/server/data/migrations/versions/6.0/2025-06-20-13-41-55-remove-created-by-column.js +47 -0
  59. package/core/server/data/migrations/versions/6.0/2025-06-23-09-49-25-add-missing-member-uuids.js +22 -0
  60. package/core/server/data/migrations/versions/6.0/2025-06-23-10-03-26-members-nullable-uuid.js +5 -0
  61. package/core/server/data/migrations/versions/6.0/2025-06-24-09-19-42-use-object-id-for-hardcoded-user-id.js +95 -0
  62. package/core/server/data/migrations/versions/6.0/2025-06-25-15-03-29-remove-amp-from-settings.js +6 -0
  63. package/core/server/data/migrations/versions/6.0/2025-06-30-13-59-10-remove-mail-events-table.js +3 -0
  64. package/core/server/data/migrations/versions/6.0/2025-06-30-14-00-00-update-feature-image-alt-length.js +25 -0
  65. package/core/server/data/schema/default-settings/default-settings.json +0 -13
  66. package/core/server/data/schema/fixtures/FixtureManager.js +128 -5
  67. package/core/server/data/schema/fixtures/fixtures.json +4 -6
  68. package/core/server/data/schema/fixtures/index.js +3 -1
  69. package/core/server/data/schema/schema.js +20 -65
  70. package/core/server/data/seeders/DataGenerator.js +11 -2
  71. package/core/server/data/seeders/importers/EmailsImporter.js +1 -3
  72. package/core/server/data/seeders/importers/LabelsImporter.js +1 -3
  73. package/core/server/data/seeders/importers/MembersImporter.js +0 -1
  74. package/core/server/data/seeders/importers/MembersStripeCustomersImporter.js +1 -2
  75. package/core/server/data/seeders/importers/MembersStripeCustomersSubscriptionsImporter.js +0 -1
  76. package/core/server/data/seeders/importers/PostsImporter.js +0 -1
  77. package/core/server/data/seeders/importers/RolesUsersImporter.js +6 -1
  78. package/core/server/data/seeders/importers/TagsImporter.js +1 -2
  79. package/core/server/data/seeders/importers/UsersImporter.js +1 -2
  80. package/core/server/data/tinybird/ARCHITECTURE.md +0 -4
  81. package/core/server/data/tinybird/DOCS.md +0 -4
  82. package/core/server/models/base/bookshelf.js +8 -1
  83. package/core/server/models/base/plugins/events.js +0 -28
  84. package/core/server/models/base/plugins/user-type.js +10 -36
  85. package/core/server/models/post.js +25 -10
  86. package/core/server/models/relations/authors.js +2 -2
  87. package/core/server/models/settings.js +1 -14
  88. package/core/server/models/user.js +33 -6
  89. package/core/server/services/activitypub/ActivityPubService.js +1 -2
  90. package/core/server/services/activitypub/ActivityPubService.ts +1 -2
  91. package/core/server/services/explore-ping/ExplorePingService.js +3 -1
  92. package/core/server/services/link-redirection/README.md +1 -1
  93. package/core/server/services/mentions/MentionSendingService.js +1 -1
  94. package/core/server/services/settings/SettingsBREADService.js +5 -1
  95. package/core/server/services/settings/settings-service.js +3 -1
  96. package/core/server/services/settings-helpers/SettingsHelpers.js +0 -12
  97. package/core/server/services/update-check/UpdateCheckService.js +18 -2
  98. package/core/server/services/url/config.js +0 -2
  99. package/core/server/web/api/app.js +4 -0
  100. package/core/server/web/api/endpoints/admin/middleware.js +8 -9
  101. package/core/server/web/api/endpoints/admin/routes.js +0 -2
  102. package/core/server/web/comments/routes.js +3 -0
  103. package/core/server/web/shared/middleware/index.js +4 -0
  104. package/core/server/web/shared/middleware/max-limit-cap.js +27 -0
  105. package/core/server/web/shared/middleware/pretty-urls.js +3 -1
  106. package/core/server/web/shared/middleware/redirect-amp-urls.js +36 -0
  107. package/core/shared/config/defaults.json +2 -0
  108. package/core/shared/config/overrides.json +1 -4
  109. package/core/shared/labs.js +2 -6
  110. package/core/shared/max-limit-cap.js +61 -0
  111. package/package.json +5 -6
  112. package/tsconfig.tsbuildinfo +1 -1
  113. package/yarn.lock +18 -107
  114. package/components/tryghost-i18n-5.130.2.tgz +0 -0
  115. package/core/built/admin/assets/img/amp-d7b72aae3315fda95921fb575dfca100.svg +0 -4
  116. package/core/frontend/apps/amp/index.js +0 -30
  117. package/core/frontend/apps/amp/lib/helpers/amp_analytics.js +0 -32
  118. package/core/frontend/apps/amp/lib/helpers/amp_components.js +0 -48
  119. package/core/frontend/apps/amp/lib/helpers/amp_content.js +0 -214
  120. package/core/frontend/apps/amp/lib/helpers/amp_style.js +0 -8
  121. package/core/frontend/apps/amp/lib/router.js +0 -95
  122. package/core/frontend/apps/amp/lib/views/amp.hbs +0 -1046
  123. package/core/frontend/meta/amp-url.js +0 -14
  124. package/core/server/api/endpoints/mail-events.js +0 -17
  125. package/core/server/api/endpoints/utils/serializers/output/mail-events.js +0 -9
  126. package/core/server/api/endpoints/utils/validators/input/mail-events.js +0 -7
  127. package/core/server/data/migrations/utils/constants.js +0 -3
  128. package/core/server/data/migrations/versions/4.0/01-update-mobiledoc.js +0 -61
  129. package/core/server/data/migrations/versions/4.0/02-add-status-column-to-members.js +0 -11
  130. package/core/server/data/migrations/versions/4.0/03-populate-status-column-for-members.js +0 -81
  131. package/core/server/data/migrations/versions/4.0/04-drop-apps-related-tables.js +0 -10
  132. package/core/server/data/migrations/versions/4.0/05-add-members-subscribe-events-table.js +0 -9
  133. package/core/server/data/migrations/versions/4.0/06-populate-members-subscribe-events-table.js +0 -53
  134. package/core/server/data/migrations/versions/4.0/07-alter-unique-constraint-for-posts-slug.js +0 -7
  135. package/core/server/data/migrations/versions/4.0/08-add-members-login-events-table.js +0 -7
  136. package/core/server/data/migrations/versions/4.0/09-add-members-email-change-events-table.js +0 -9
  137. package/core/server/data/migrations/versions/4.0/10-add-members-status-events-table.js +0 -9
  138. package/core/server/data/migrations/versions/4.0/11-add-members-paid-subscription-events-table.js +0 -12
  139. package/core/server/data/migrations/versions/4.0/12-delete-apps-related-settings-keys.js +0 -16
  140. package/core/server/data/migrations/versions/4.0/13-add-members-payment-events-table.js +0 -10
  141. package/core/server/data/migrations/versions/4.0/14-remove-orphaned-stripe-records.js +0 -36
  142. package/core/server/data/migrations/versions/4.0/15-add-frontmatter-column-to-meta.js +0 -7
  143. package/core/server/data/migrations/versions/4.0/16-refactor-slack-setting.js +0 -96
  144. package/core/server/data/migrations/versions/4.0/17-populate-members-status-events-table.js +0 -41
  145. package/core/server/data/migrations/versions/4.0/18-transform-urls-absolute-to-transform-ready.js +0 -201
  146. package/core/server/data/migrations/versions/4.0/19-remove-labs-members-setting.js +0 -10
  147. package/core/server/data/migrations/versions/4.0/20-refactor-unsplash-setting.js +0 -41
  148. package/core/server/data/migrations/versions/4.0/21-sanitize-email-batches-provider-id.js +0 -8
  149. package/core/server/data/migrations/versions/4.0/22-solve-orphaned-webhooks.js +0 -87
  150. package/core/server/data/migrations/versions/4.0/23-regenerate-posts-html.js +0 -66
  151. package/core/server/data/migrations/versions/4.0/24-add-missing-email-permissions.js +0 -36
  152. package/core/server/data/migrations/versions/4.0/25-populate-members-paid-subscription-events-table.js +0 -129
  153. package/core/server/data/migrations/versions/4.0/26-add-cascade-on-delete.js +0 -76
  154. package/core/server/data/migrations/versions/4.0/27-add-primary-key-brute-migrations-lock.js +0 -9
  155. package/core/server/data/migrations/versions/4.0/28-add-webhook-intergrations-foreign-key.js +0 -16
  156. package/core/server/data/migrations/versions/4.0/29-fix-foreign-key-for-members-stripe-customers-subscriptions.js +0 -35
  157. package/core/server/data/migrations/versions/4.0/30-set-default-accent-color.js +0 -21
  158. package/core/server/data/migrations/versions/4.1/01-fix-backup-content-permission-typo.js +0 -15
  159. package/core/server/data/migrations/versions/4.1/02-add-unique-constraint-for-member-stripe-tables.js +0 -21
  160. package/core/server/data/migrations/versions/4.11/01-add-oauth-user-data.js +0 -12
  161. package/core/server/data/migrations/versions/4.11/02-add-email-verification-required-setting.js +0 -43
  162. package/core/server/data/migrations/versions/4.12/01-add-email-only-column-to-posts-meta-table.js +0 -7
  163. package/core/server/data/migrations/versions/4.12/02-fix-member-statuses.js +0 -39
  164. package/core/server/data/migrations/versions/4.13/01-add-members-stripe-connect-auth-permission-to-administrators.js +0 -6
  165. package/core/server/data/migrations/versions/4.13/02-add-members-products-events-table.js +0 -33
  166. package/core/server/data/migrations/versions/4.14/01-fix-comped-member-statuses.js +0 -73
  167. package/core/server/data/migrations/versions/4.14/02-fix-free-members-status-events.js +0 -61
  168. package/core/server/data/migrations/versions/4.15/01-add-temp-members-analytic-events-table.js +0 -12
  169. package/core/server/data/migrations/versions/4.16/01-add-custom-theme-settings-table.js +0 -9
  170. package/core/server/data/migrations/versions/4.17/01-add-custom-theme-settings-permissions.js +0 -21
  171. package/core/server/data/migrations/versions/4.17/02-add-offers-table.js +0 -19
  172. package/core/server/data/migrations/versions/4.17/03-add-offers-permissions.js +0 -35
  173. package/core/server/data/migrations/versions/4.19/01-add-active-column-to-offers.js +0 -7
  174. package/core/server/data/migrations/versions/4.19/02-add-offer-redemptions-table.js +0 -8
  175. package/core/server/data/migrations/versions/4.2/01-fix-incorrect-mrr-delta-events.js +0 -13
  176. package/core/server/data/migrations/versions/4.20/01-remove-offer-redemptions-table.js +0 -19
  177. package/core/server/data/migrations/versions/4.20/02-remove-offers-table.js +0 -30
  178. package/core/server/data/migrations/versions/4.20/03-add-offers-table.js +0 -21
  179. package/core/server/data/migrations/versions/4.20/04-add-offer-redemptions-table.js +0 -9
  180. package/core/server/data/migrations/versions/4.20/05-remove-not-null-constraint-from-portal-title.js +0 -44
  181. package/core/server/data/migrations/versions/4.22/01-add-is-launch-complete-setting.js +0 -8
  182. package/core/server/data/migrations/versions/4.22/02-update-launch-complete-setting-from-user-data.js +0 -39
  183. package/core/server/data/migrations/versions/4.23/01-truncate-offer-names.js +0 -59
  184. package/core/server/data/migrations/versions/4.3/01-add-products-table.js +0 -9
  185. package/core/server/data/migrations/versions/4.3/02-add-members-products-table.js +0 -8
  186. package/core/server/data/migrations/versions/4.3/03-add-default-product.js +0 -39
  187. package/core/server/data/migrations/versions/4.3/04-attach-members-to-product.js +0 -50
  188. package/core/server/data/migrations/versions/4.3/05-add-stripe-products-table.js +0 -9
  189. package/core/server/data/migrations/versions/4.3/06-add-stripe-prices-table.js +0 -15
  190. package/core/server/data/migrations/versions/4.3/07-add-products-permissions.js +0 -29
  191. package/core/server/data/migrations/versions/4.3/08-migrate-members-signup-setting.js +0 -109
  192. package/core/server/data/migrations/versions/4.3/09-add-price-id-column-to-subscriptions-table.js +0 -10
  193. package/core/server/data/migrations/versions/4.3/10-populate-stripe-price-id-in-subscriptions.js +0 -20
  194. package/core/server/data/migrations/versions/4.33/2022-01-14-11-50-add-type-column-to-products.js +0 -12
  195. package/core/server/data/migrations/versions/4.33/2022-01-14-11-51-add-default-free-tier.js +0 -40
  196. package/core/server/data/migrations/versions/4.33/2022-01-18-09-07-remove-duplicate-offer-redemptions.js +0 -46
  197. package/core/server/data/migrations/versions/4.33/2022-01-19-10-43-add-active-column-to-products-table.js +0 -7
  198. package/core/server/data/migrations/versions/4.34/2022-01-25-13-53-add-welcome-page-url-column-to-products.js +0 -7
  199. package/core/server/data/migrations/versions/4.35/2022-01-20-05-55-add-post-products-table.js +0 -8
  200. package/core/server/data/migrations/versions/4.35/2022-01-30-15-17-set-welcome-page-url-from-settings.js +0 -45
  201. package/core/server/data/migrations/versions/4.35/2022-02-01-11-48-update-email-recipient-filter-column-type.js +0 -19
  202. package/core/server/data/migrations/versions/4.35/2022-02-01-12-03-update-recipient-filter-column-type.js +0 -19
  203. package/core/server/data/migrations/versions/4.35/2022-02-02-10-38-add-default-content-visibility-tiers-setting.js +0 -8
  204. package/core/server/data/migrations/versions/4.35/2022-02-02-13-10-transform-specific-tiers-default-content-visibility.js +0 -147
  205. package/core/server/data/migrations/versions/4.35/2022-02-04-04-34-populate-empty-portal-products.js +0 -60
  206. package/core/server/data/migrations/versions/4.36/2022-02-07-14-34-add-last-seen-at-column-to-members.js +0 -10
  207. package/core/server/data/migrations/versions/4.37/2022-02-21-09-53-backfill-members-last-seen-at-column.js +0 -32
  208. package/core/server/data/migrations/versions/4.38/2022-03-01-08-46-add-visibility-to-tiers.js +0 -11
  209. package/core/server/data/migrations/versions/4.38/2022-03-03-16-12-add-visibility-to-tiers.js +0 -8
  210. package/core/server/data/migrations/versions/4.38/2022-03-03-16-17-drop-tiers-visible-column.js +0 -7
  211. package/core/server/data/migrations/versions/4.39/2022-03-07-10-57-update-free-products-visibility-column.js +0 -66
  212. package/core/server/data/migrations/versions/4.39/2022-03-07-10-57-update-products-visibility-column.js +0 -36
  213. package/core/server/data/migrations/versions/4.4/01-restore-free-members-signup-setting-from-backup.js +0 -99
  214. package/core/server/data/migrations/versions/4.4/02-migrate-members-signup-access.js +0 -126
  215. package/core/server/data/migrations/versions/4.40/2022-03-07-14-37-add-members-cancel-events-table.js +0 -8
  216. package/core/server/data/migrations/versions/4.40/2022-03-15-06-40-add-offers-admin-integration-permission-roles.js +0 -23
  217. package/core/server/data/migrations/versions/4.40/2022-03-15-06-40-add-tiers-admin-integration-permission-roles.js +0 -20
  218. package/core/server/data/migrations/versions/4.42/2022-03-21-17-17-add.js +0 -25
  219. package/core/server/data/migrations/versions/4.42/2022-03-30-15-44-add-newsletter-permissions.js +0 -28
  220. package/core/server/data/migrations/versions/4.43/2022-03-28-19-26-recreate-newsletter-table.js +0 -29
  221. package/core/server/data/migrations/versions/4.43/2022-03-29-14-45-add-members-newsletters-table.js +0 -7
  222. package/core/server/data/migrations/versions/4.43/2022-04-01-10-13-add-post-newsletter-relation.js +0 -108
  223. package/core/server/data/migrations/versions/4.43/2022-04-06-09-47-add-type-column-to-paid-subscription-events.js +0 -7
  224. package/core/server/data/migrations/versions/4.43/2022-04-06-14-56-add-email-newsletter-relation.js +0 -8
  225. package/core/server/data/migrations/versions/4.43/2022-04-08-10-45-add-subscription-id-to-mrr-events.js +0 -7
  226. package/core/server/data/migrations/versions/4.44/2022-04-06-15-22-populate-type-column-for-paid-subscription-events.js +0 -21
  227. package/core/server/data/migrations/versions/4.44/2022-04-08-11-54-add-cancelled-events.js +0 -51
  228. package/core/server/data/migrations/versions/4.44/2022-04-11-08-24-add-newsletter-permissions.js +0 -33
  229. package/core/server/data/migrations/versions/4.44/2022-04-11-10-54-add-mrr-to-subscriptions.js +0 -8
  230. package/core/server/data/migrations/versions/4.44/2022-04-12-07-33-fill-mrr.js +0 -29
  231. package/core/server/data/migrations/versions/4.44/2022-04-13-12-00-remove-newsletter-sender-name-not-null-constraint.js +0 -33
  232. package/core/server/data/migrations/versions/4.44/2022-04-15-07-53-add-offer-id-to-subscriptions.js +0 -9
  233. package/core/server/data/migrations/versions/4.45/2022-04-19-12-23-backfill-subscriptions-offers.js +0 -60
  234. package/core/server/data/migrations/versions/4.45/2022-04-20-11-25-add-newsletter-read-permission.js +0 -9
  235. package/core/server/data/migrations/versions/4.45/2022-04-21-02-55-add-notifications-key-entry-to-settings-table.js +0 -8
  236. package/core/server/data/migrations/versions/4.46/2022-04-13-12-00-add-created-at-newsletters.js +0 -6
  237. package/core/server/data/migrations/versions/4.46/2022-04-13-12-01-add-updated-at-newsletters.js +0 -6
  238. package/core/server/data/migrations/versions/4.46/2022-04-13-12-02-fill-created-at-newsletters.js +0 -19
  239. package/core/server/data/migrations/versions/4.46/2022-04-13-12-03-drop-nullable-created-at-newsletters.js +0 -3
  240. package/core/server/data/migrations/versions/4.46/2022-04-13-12-08-newsletters-show-header-name.js +0 -7
  241. package/core/server/data/migrations/versions/4.46/2022-04-13-12-57-add-uuid-column-to-newsletters.js +0 -8
  242. package/core/server/data/migrations/versions/4.46/2022-04-13-12-58-fill-uuid-for-newsletters.js +0 -19
  243. package/core/server/data/migrations/versions/4.46/2022-04-13-12-59-drop-nullable-uuid-newsletters.js +0 -3
  244. package/core/server/data/migrations/versions/4.46/2022-04-13-13-00-add-default-newsletter.js +0 -92
  245. package/core/server/data/migrations/versions/4.46/2022-04-20-08-39-map-subscribers-to-default-newsletter.js +0 -66
  246. package/core/server/data/migrations/versions/4.46/2022-04-22-07-43-add-newsletter-id-to-subscribe-events.js +0 -9
  247. package/core/server/data/migrations/versions/4.46/2022-04-27-07-59-set-newsletter-id-subscribe-events.js +0 -31
  248. package/core/server/data/migrations/versions/4.47/2022-05-03-15-30-update-newsletter-sending-options.js +0 -34
  249. package/core/server/data/migrations/versions/4.47/2022-05-04-10-03-transform-newsletter-header-image.js +0 -26
  250. package/core/server/data/migrations/versions/4.5/01-add-stripe-price-description-column.js +0 -7
  251. package/core/server/data/migrations/versions/4.5/02-add-product-description-column.js +0 -7
  252. package/core/server/data/migrations/versions/4.5/03-give-label-read-permissions-to-editors.js +0 -14
  253. package/core/server/data/migrations/versions/4.5/04-remove-unique-constraint-from-product-name.js +0 -13
  254. package/core/server/data/migrations/versions/4.5/05-rename-default-product-to-site-title.js +0 -38
  255. package/core/server/data/migrations/versions/4.6/01-remove-comped-status.js +0 -47
  256. package/core/server/data/migrations/versions/4.7/01-add-monthly-price-column-to-products.js +0 -7
  257. package/core/server/data/migrations/versions/4.7/02-add-yearly-price-column-to-products.js +0 -7
  258. package/core/server/data/migrations/versions/4.7/03-add-labs-setting.js +0 -42
  259. package/core/server/data/migrations/versions/4.8/01-add-feature-image-alt-column-to-posts-meta.js +0 -7
  260. package/core/server/data/migrations/versions/4.8/02-add-feature-image-caption-column-to-posts-meta.js +0 -7
  261. package/core/server/data/migrations/versions/4.8/03-add-default-product-portal-products.js +0 -69
  262. package/core/server/data/migrations/versions/4.8/04-migrate-show-newsletter-header-setting.js +0 -124
  263. package/core/server/data/migrations/versions/4.9/01-add-reset-all-passwords-permission.js +0 -11
  264. package/core/server/data/migrations/versions/4.9/02-add-benefits-table.js +0 -9
  265. package/core/server/data/migrations/versions/4.9/03-add-products-benefits-table.js +0 -8
  266. package/core/server/data/migrations/versions/4.9/04-add-member-segment-to-email-batches.js +0 -7
  267. package/core/server/data/migrations/versions/4.9/05-fix-missed-mobiledoc-url-transforms.js +0 -87
  268. package/core/server/data/migrations/versions/4.9/06-add-comped-status.js +0 -47
  269. package/core/server/data/migrations/versions/4.9/07-update-comped-members-status-events.js +0 -39
  270. package/core/server/models/mail-event.js +0 -12
  271. package/core/server/services/mail-events/BookshelfMailEventRepository.js +0 -40
  272. package/core/server/services/mail-events/InMemoryMailEventRepository.js +0 -10
  273. package/core/server/services/mail-events/InMemoryMailEventRepository.ts +0 -8
  274. package/core/server/services/mail-events/MailEvent.js +0 -20
  275. package/core/server/services/mail-events/MailEvent.ts +0 -10
  276. package/core/server/services/mail-events/MailEventRepository.js +0 -2
  277. package/core/server/services/mail-events/MailEventRepository.ts +0 -5
  278. package/core/server/services/mail-events/MailEventService.js +0 -124
  279. package/core/server/services/mail-events/MailEventService.ts +0 -169
  280. package/core/server/services/mail-events/index.js +0 -21
  281. package/core/server/services/mail-events/libraries.d.ts +0 -2
@@ -1,1046 +0,0 @@
1
- <!DOCTYPE html>
2
- <html ⚡ lang="{{@site.locale}}">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
6
-
7
- <title>{{meta_title}}</title>
8
-
9
- {{amp_ghost_head}}
10
-
11
- <style amp-custom>
12
- *,
13
- *::before,
14
- *::after {
15
- box-sizing: border-box;
16
- }
17
-
18
- html {
19
- overflow-x: hidden;
20
- overflow-y: scroll;
21
- font-size: 62.5%;
22
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
23
- }
24
-
25
- body {
26
- min-height: 100vh;
27
- margin: 0;
28
- padding: 0;
29
- color: #3a4145;
30
- font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
31
- font-size: 1.7rem;
32
- line-height: 1.55em;
33
- font-weight: 400;
34
- font-style: normal;
35
- background: #fff;
36
- scroll-behavior: smooth;
37
- overflow-x: hidden;
38
- -webkit-font-smoothing: antialiased;
39
- -moz-osx-font-smoothing: grayscale;
40
- }
41
-
42
- p,
43
- ul,
44
- ol,
45
- li,
46
- dl,
47
- dd,
48
- hr,
49
- pre,
50
- form,
51
- table,
52
- video,
53
- figure,
54
- figcaption,
55
- blockquote {
56
- margin: 0;
57
- padding: 0;
58
- }
59
-
60
- ul[class],
61
- ol[class] {
62
- padding: 0;
63
- list-style: none;
64
- }
65
-
66
- img {
67
- display: block;
68
- max-width: 100%;
69
- }
70
-
71
- input,
72
- button,
73
- select,
74
- textarea {
75
- font: inherit;
76
- -webkit-appearance: none;
77
- }
78
-
79
- fieldset {
80
- margin: 0;
81
- padding: 0;
82
- border: 0;
83
- }
84
-
85
- label {
86
- display: block;
87
- font-size: 0.9em;
88
- font-weight: 700;
89
- }
90
-
91
- hr {
92
- position: relative;
93
- display: block;
94
- width: 100%;
95
- height: 1px;
96
- border: 0;
97
- border-top: 1px solid currentcolor;
98
- opacity: 0.1;
99
- }
100
-
101
- ::selection {
102
- text-shadow: none;
103
- background: #cbeafb;
104
- }
105
-
106
- mark {
107
- background-color: #fdffb6;
108
- }
109
-
110
- small {
111
- font-size: 80%;
112
- }
113
-
114
- sub,
115
- sup {
116
- position: relative;
117
- font-size: 75%;
118
- line-height: 0;
119
- vertical-align: baseline;
120
- }
121
- sup {
122
- top: -0.5em;
123
- }
124
- sub {
125
- bottom: -0.25em;
126
- }
127
-
128
- ul li + li {
129
- margin-top: 0.6em;
130
- }
131
-
132
- a {
133
- color: var(--ghost-accent-color, #1292EE);
134
- text-decoration-skip-ink: auto;
135
- }
136
-
137
- h1,
138
- h2,
139
- h3,
140
- h4,
141
- h5,
142
- h6 {
143
- margin: 0;
144
- font-weight: 700;
145
- color: #121212;
146
- line-height: 1.4em;
147
- }
148
-
149
- h1 {
150
- font-size: 3.4rem;
151
- line-height: 1.1em;
152
- }
153
-
154
- h2 {
155
- font-size: 2.4rem;
156
- line-height: 1.2em;
157
- }
158
-
159
- h3 {
160
- font-size: 1.8rem;
161
- }
162
-
163
- h4 {
164
- font-size: 1.7rem;
165
- }
166
-
167
- h5 {
168
- font-size: 1.6rem;
169
- }
170
-
171
- h6 {
172
- font-size: 1.6rem;
173
- }
174
-
175
- amp-img {
176
- height: 100%;
177
- width: 100%;
178
- max-width: 100%;
179
- max-height: 100%;
180
- }
181
-
182
- amp-img img {
183
- object-fit: cover;
184
- }
185
-
186
- amp-youtube {
187
- height: calc(100vw / 1.78);
188
- width: 100vw;
189
- position: relative;
190
- }
191
-
192
- amp-youtube img {
193
- position: absolute;
194
- }
195
-
196
- .page-header {
197
- padding: 50px 5vmin 30px;
198
- text-align: center;
199
- font-size: 2rem;
200
- text-transform: uppercase;
201
- letter-spacing: 0.5px;
202
- }
203
-
204
- .page-header a {
205
- color: #121212;
206
- font-weight: 700;
207
- text-decoration: none;
208
- font-size: 1.6rem;
209
- letter-spacing: -0.1px;
210
- }
211
-
212
- .post {
213
- max-width: 680px;
214
- margin: 0 auto;
215
- }
216
-
217
- .post-header {
218
- margin: 0 5vmin 5vmin;
219
- text-align: center;
220
- }
221
-
222
- .post-meta {
223
- margin: 1rem 0 0 0;
224
- text-transform: uppercase;
225
- color: #738a94;
226
- font-weight: 500;
227
- font-size: 1.3rem;
228
- }
229
-
230
- .post-image {
231
- margin: 0 0 5vmin;
232
- }
233
-
234
- .post-image img {
235
- display: block;
236
- width: 100%;
237
- height: auto;
238
- }
239
-
240
- .post-content {
241
- padding: 0 5vmin;
242
- }
243
-
244
- .post-content > * + * {
245
- margin-top: 1.5em;
246
- }
247
-
248
- .post-content [id]:not(:first-child) {
249
- margin: 2em 0 0;
250
- }
251
-
252
- .post-content > [id] + * {
253
- margin-top: 1rem;
254
- }
255
-
256
- .post-content [id] + .kg-card,
257
- .post-content blockquote + .kg-card {
258
- margin-top: 40px;
259
- }
260
-
261
- .post-content > ul,
262
- .post-content > ol,
263
- .post-content > dl {
264
- padding-left: 1.9em;
265
- }
266
-
267
- .post-content hr {
268
- margin-top: 40px;
269
- }
270
-
271
- .post .post-content hr + * {
272
- margin-top: 40px;
273
- }
274
-
275
- .post-content amp-img {
276
- background-color: #f8f8f8;
277
- }
278
-
279
- .post-content blockquote {
280
- position: relative;
281
- font-style: italic;
282
- }
283
-
284
- .post-content blockquote::before {
285
- content: "";
286
- position: absolute;
287
- left: -1.5em;
288
- top: 0;
289
- bottom: 0;
290
- width: 0.3rem;
291
- background: var(--ghost-accent-color, #1292EE);
292
- }
293
-
294
- .post-content blockquote.kg-blockquote-alt {
295
- font-size: 1.2em;
296
- font-style: italic;
297
- line-height: 1.6em;
298
- text-align: center;
299
- color: #738a94;
300
- padding: 0.75em 3em 1.25em;
301
- }
302
-
303
- .post-content blockquote.kg-blockquote-alt::before {
304
- display: none;
305
- }
306
-
307
- .post-content :not(.kg-card):not([id]) + .kg-card {
308
- margin-top: 40px;
309
- }
310
-
311
- .post-content .kg-card + :not(.kg-card) {
312
- margin-top: 40px;
313
- }
314
-
315
- .kg-card figcaption {
316
- padding: 1.5rem 1.5rem 0;
317
- text-align: center;
318
- font-weight: 500;
319
- font-size: 1.3rem;
320
- line-height: 1.4em;
321
- opacity: 0.6;
322
- }
323
-
324
- .kg-card figcaption strong {
325
- color: rgba(0,0,0,0.8);
326
- }
327
-
328
- .post-content :not(pre) code {
329
- vertical-align: middle;
330
- padding: 0.15em 0.4em 0.15em;
331
- border: #e1eaef 1px solid;
332
- font-weight: 400;
333
- font-size: 0.9em;
334
- line-height: 1em;
335
- color: #15171a;
336
- background: #f0f6f9;
337
- border-radius: 0.25em;
338
- }
339
-
340
- .post-content > pre {
341
- overflow: scroll;
342
- padding: 16px 20px;
343
- color: #fff;
344
- background: #1F2428;
345
- border-radius: 5px;
346
- box-shadow: 0 2px 6px -2px rgba(0,0,0,.1), 0 0 1px rgba(0,0,0,.4);
347
- }
348
-
349
- .kg-embed-card {
350
- display: flex;
351
- flex-direction: column;
352
- align-items: center;
353
- width: 100%;
354
- }
355
-
356
- .kg-image-card img {
357
- margin: auto;
358
- }
359
-
360
- .kg-gallery-card + .kg-gallery-card {
361
- margin-top: 0.75em;
362
- }
363
-
364
- .kg-gallery-container {
365
- position: relative;
366
- }
367
-
368
- .kg-gallery-row {
369
- display: flex;
370
- flex-direction: row;
371
- justify-content: center;
372
- }
373
-
374
- .kg-gallery-image {
375
- width: 100%;
376
- height: 100%;
377
- }
378
-
379
- .kg-gallery-row:not(:first-of-type) {
380
- margin: 0.75em 0 0 0;
381
- }
382
-
383
- .kg-gallery-image:not(:first-of-type) {
384
- margin: 0 0 0 0.75em;
385
- }
386
-
387
- .kg-bookmark-card,
388
- .kg-bookmark-publisher {
389
- position: relative;
390
- }
391
-
392
- .kg-bookmark-container,
393
- .kg-bookmark-container:hover {
394
- display: flex;
395
- flex-wrap: wrap;
396
- flex-direction: row-reverse;
397
- color: currentColor;
398
- background: rgba(255,255,255,0.6);
399
- font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
400
- text-decoration: none;
401
- border-radius: 3px;
402
- box-shadow: 0 2px 6px -2px rgba(0, 0, 0, 0.1), 0 0 1px rgba(0, 0, 0, 0.4);
403
- overflow: hidden;
404
- }
405
-
406
- .kg-bookmark-content {
407
- flex-basis: 0;
408
- flex-grow: 999;
409
- padding: 20px;
410
- order: 1;
411
- }
412
-
413
- .kg-bookmark-title {
414
- font-weight: 600;
415
- font-size: 1.5rem;
416
- line-height: 1.3em;
417
- }
418
-
419
- .kg-bookmark-description {
420
- display: -webkit-box;
421
- max-height: 45px;
422
- margin: 0.5em 0 0 0;
423
- font-size: 1.4rem;
424
- line-height: 1.55em;
425
- overflow: hidden;
426
- opacity: 0.8;
427
- -webkit-line-clamp: 2;
428
- -webkit-box-orient: vertical;
429
- }
430
-
431
- .kg-bookmark-metadata {
432
- margin-top: 20px;
433
- }
434
-
435
- .kg-bookmark-metadata {
436
- display: flex;
437
- align-items: center;
438
- font-weight: 500;
439
- font-size: 1.3rem;
440
- line-height: 1.3em;
441
- white-space: nowrap;
442
- overflow: hidden;
443
- text-overflow: ellipsis;
444
- }
445
-
446
- .kg-bookmark-description {
447
- display: -webkit-box;
448
- -webkit-box-orient: vertical;
449
- -webkit-line-clamp: 2;
450
- overflow: hidden;
451
- }
452
-
453
- .kg-bookmark-metadata amp-img {
454
- width: 18px;
455
- height: 18px;
456
- max-width: 18px;
457
- max-height: 18px;
458
- margin-right: 10px;
459
- }
460
-
461
- .kg-bookmark-thumbnail {
462
- display: flex;
463
- flex-basis: 20rem;
464
- flex-grow: 1;
465
- justify-content: flex-end;
466
- }
467
-
468
- .kg-bookmark-thumbnail amp-img {
469
- max-height: 200px;
470
- }
471
-
472
- .kg-bookmark-author {
473
- white-space: nowrap;
474
- text-overflow: ellipsis;
475
- overflow: hidden;
476
- }
477
-
478
- .kg-bookmark-publisher::before {
479
- content: "•";
480
- margin: 0 .5em;
481
- }
482
-
483
- .kg-toggle-card-icon {
484
- display: none;
485
- }
486
-
487
- .kg-toggle-content {
488
- margin-top: 0.8rem;
489
- }
490
-
491
- .kg-product-card-container {
492
- background: transparent;
493
- padding: 20px;
494
- width: 100%;
495
- border-radius: 5px;
496
- box-shadow: inset 0 0 0 1px rgb(124 139 154 / 25%);
497
- }
498
-
499
- .kg-product-card-description p {
500
- margin-top: 1.5em;
501
- }
502
-
503
- .kg-product-card-description ul {
504
- margin-left: 24px;
505
- }
506
-
507
- .kg-product-card-title {
508
- font-size: 1.9rem;
509
- font-weight: 700;
510
- }
511
-
512
- .kg-product-card-rating-star {
513
- height: 28px;
514
- width: 20px;
515
- margin-right: 2px;
516
- }
517
-
518
- .kg-product-card-rating-star svg {
519
- width: 16px;
520
- height: 16px;
521
- fill: currentColor;
522
- opacity: 0.15;
523
- }
524
-
525
- .kg-product-card-rating-active.kg-product-card-rating-star svg {
526
- opacity: 1;
527
- }
528
-
529
- .kg-nft-card-container {
530
- position: relative;
531
- display: flex;
532
- flex: auto;
533
- flex-direction: column;
534
- text-decoration: none;
535
- font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
536
- font-size: 1.4rem;
537
- font-weight: 400;
538
- box-shadow: 0 2px 6px -2px rgb(0 0 0 / 10%), 0 0 1px rgb(0 0 0 / 40%);
539
- width: 100%;
540
- max-width: 512px;
541
- color: #15212A;
542
- background: #fff;
543
- border-radius: 5px;
544
- transition: none;
545
- margin: 0 auto;
546
- }
547
-
548
- .kg-nft-metadata {
549
- padding: 2.0rem;
550
- }
551
-
552
- .kg-nft-image-container {
553
- position: relative;
554
- }
555
-
556
- .kg-nft-image {
557
- display: flex;
558
- border-radius: 5px 5px 0 0;
559
- }
560
-
561
- .kg-nft-header {
562
- display: flex;
563
- justify-content: space-between;
564
- align-items: flex-start;
565
- gap: 20px;
566
- }
567
-
568
- .kg-nft-header h4.kg-nft-title {
569
- font-size: 1.9rem;
570
- font-weight: 700;
571
- margin: 0;
572
- color: #15212A;
573
- }
574
-
575
- .kg-nft-header amp-img {
576
- max-width: 114px;
577
- max-height: 26px;
578
- }
579
-
580
- .kg-nft-opensea-logo {
581
- margin-top: 2px;
582
- width: 100px;
583
- }
584
-
585
- .kg-nft-creator {
586
- font-family: inherit;
587
- color: #95A1AD;
588
- }
589
-
590
- .kg-nft-creator span {
591
- font-weight: 500;
592
- color: #15212A;
593
- }
594
-
595
- .kg-nft-card p.kg-nft-description {
596
- font-size: 1.4rem;
597
- line-height: 1.4em;
598
- margin: 2.0rem 0 0;
599
- color: #222;
600
- }
601
-
602
- .kg-button-card {
603
- display: flex;
604
- position: static;
605
- align-items: center;
606
- width: 100%;
607
- justify-content: center;
608
- }
609
-
610
- .kg-btn {
611
- display: flex;
612
- position: static;
613
- align-items: center;
614
- padding: 0 2.0rem;
615
- height: 4.0rem;
616
- line-height: 4.0rem;
617
- font-size: 1.65rem;
618
- font-weight: 600;
619
- text-decoration: none;
620
- border-radius: 5px;
621
- transition: opacity 0.2s ease-in-out;
622
- }
623
-
624
- .kg-btn:hover {
625
- opacity: 0.85;
626
- }
627
-
628
- .kg-btn-accent {
629
- background-color: var(--ghost-accent-color, #1292EE);
630
- color: #fff;
631
- }
632
-
633
- .kg-callout-card {
634
- display: flex;
635
- padding: 20px 28px;
636
- border-radius: 3px;
637
- }
638
-
639
- .kg-callout-card-grey {
640
- background: rgba(124, 139, 154, 0.13);
641
- }
642
-
643
- .kg-callout-card-white {
644
- background: transparent;
645
- box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);
646
- }
647
-
648
- .kg-callout-card-blue {
649
- background: rgba(33, 172, 232, 0.12);
650
- }
651
-
652
- .kg-callout-card-green {
653
- background: rgba(52, 183, 67, 0.12);
654
- }
655
-
656
- .kg-callout-card-yellow {
657
- background: rgba(240, 165, 15, 0.13);
658
- }
659
-
660
- .kg-callout-card-red {
661
- background: rgba(209, 46, 46, 0.11);
662
- }
663
-
664
- .kg-callout-card-pink {
665
- background: rgba(225, 71, 174, 0.11);
666
- }
667
-
668
- .kg-callout-card-purple {
669
- background: rgba(135, 85, 236, 0.12);
670
- }
671
-
672
- .kg-callout-card-accent {
673
- background: var(--ghost-accent-color);
674
- color: #fff;
675
- }
676
-
677
- .kg-callout-card-accent a {
678
- color: #fff;
679
- }
680
-
681
- .kg-callout-emoji {
682
- padding-right: 16px;
683
- line-height: 1.3;
684
- font-size: 1.25em;
685
- }
686
-
687
- .kg-header-card {
688
- padding: 6em 3em;
689
- display: flex;
690
- flex-direction: column;
691
- align-items: center;
692
- justify-content: center;
693
- text-align: center;
694
- }
695
-
696
- .kg-header-card.kg-size-small {
697
- padding-top: 4em;
698
- padding-bottom: 4em;
699
- }
700
-
701
- .kg-header-card.kg-size-large {
702
- padding-top: 12em;
703
- padding-bottom: 12em;
704
- }
705
-
706
- .kg-header-card.kg-width-full {
707
- padding-left: 4em;
708
- padding-right: 4em;
709
- }
710
-
711
- .kg-header-card.kg-align-left {
712
- text-align: left;
713
- align-items: flex-start;
714
- }
715
-
716
- .kg-header-card.kg-style-dark {
717
- background: #15171a;
718
- color: #ffffff;
719
- }
720
-
721
- .kg-header-card.kg-style-light {
722
- color: #15171a;
723
- border: 1px solid rgba(124, 139, 154, 0.25);
724
- border-width: 1px 0;
725
- }
726
-
727
- .kg-header-card.kg-style-accent {
728
- background-color: var(--ghost-accent-color);
729
- }
730
-
731
- .kg-header-card.kg-style-image {
732
- background-color: #e7e7eb;
733
- background-size: cover;
734
- background-position: center center;
735
- }
736
-
737
- .kg-header-card h2 {
738
- font-size: 4em;
739
- font-weight: 700;
740
- line-height: 1.1em;
741
- margin: 0;
742
- }
743
-
744
- .kg-header-card h2 strong {
745
- font-weight: 800;
746
- }
747
-
748
- .kg-header-card.kg-size-small h2 {
749
- font-size: 3em;
750
- }
751
-
752
- .kg-header-card.kg-size-large h2 {
753
- font-size: 5em;
754
- }
755
-
756
- .kg-header-card h3 {
757
- font-size: 1.25em;
758
- font-weight: 500;
759
- line-height: 1.3em;
760
- margin: 0;
761
- }
762
-
763
- .kg-header-card h3 strong {
764
- font-weight: 600;
765
- }
766
-
767
- .kg-header-card.kg-size-small h3 {
768
- font-size: 1em;
769
- }
770
-
771
- .kg-header-card.kg-size-large h3 {
772
- font-size: 1.5em;
773
- }
774
-
775
- .kg-header-card:not(.kg-style-light) h2,
776
- .kg-header-card:not(.kg-style-light) h3 {
777
- color: #ffffff;
778
- }
779
-
780
- .kg-header-card a.kg-header-card-button {
781
- display: flex;
782
- position: static;
783
- align-items: center;
784
- padding: 0 1.2em;
785
- height: 2.4em;
786
- line-height: 1em;
787
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
788
- font-size: 0.95em;
789
- font-weight: 600;
790
- text-decoration: none;
791
- border-radius: 5px;
792
- transition: opacity 0.2s ease-in-out;
793
- background-color: var(--ghost-accent-color);
794
- color: #ffffff;
795
- margin: 1.75em 0 0;
796
- }
797
-
798
- .kg-header-card a.kg-header-card-button:hover {
799
- opacity: 0.85;
800
- }
801
-
802
- .kg-header-card.kg-size-large a.kg-header-card-button {
803
- margin-top: 2em;
804
- }
805
-
806
- .kg-header-card.kg-size-small a.kg-header-card-button {
807
- margin-top: 1.5em;
808
- }
809
-
810
- .kg-header-card.kg-style-image a.kg-header-card-button,
811
- .kg-header-card.kg-style-dark a.kg-header-card-button {
812
- background: #ffffff;
813
- color: #15171a;
814
- }
815
-
816
- .kg-header-card.kg-style-accent a.kg-header-card-button {
817
- background: #ffffff;
818
- color: var(--ghost-accent-color);
819
- }
820
-
821
- .kg-audio-card {
822
- display: flex;
823
- width: 100%;
824
- box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);
825
- }
826
-
827
- .kg-audio-thumbnail {
828
- display: flex;
829
- justify-content: center;
830
- align-items: center;
831
- width: 80px;
832
- min-width: 80px;
833
- height: 80px;
834
- background: transparent;
835
- object-fit: cover;
836
- aspect-ratio: 1/1;
837
- border-radius: 3px 0 0 3px;
838
- }
839
-
840
- .kg-audio-thumbnail.placeholder {
841
- background: var(--ghost-accent-color);
842
- }
843
-
844
- .kg-audio-thumbnail.placeholder svg {
845
- width: 24px;
846
- height: 24px;
847
- fill: white;
848
- }
849
-
850
- .kg-audio-player-container {
851
- position: relative;
852
- display: flex;
853
- flex-direction: column;
854
- justify-content: space-between;
855
- width: 100%;
856
- --seek-before-width: 0%;
857
- --volume-before-width: 100%;
858
- --buffered-width: 0%;
859
- }
860
-
861
- .kg-audio-title {
862
- width: 100%;
863
- padding: 8px 12px 0;
864
- border: none;
865
- font-family: inherit;
866
- font-size: 1.1em;
867
- font-weight: 700;
868
- background: transparent;
869
- }
870
-
871
- .kg-audio-player {
872
- display: none;
873
- }
874
-
875
- .kg-width-full.kg-card-hascaption {
876
- display: grid;
877
- grid-template-columns: inherit;
878
- }
879
-
880
- .post-content table {
881
- border-collapse: collapse;
882
- width: 100%;
883
- }
884
-
885
- .post-content th {
886
- padding: 0.5em 0.8em;
887
- text-align: left;
888
- font-size: .75em;
889
- text-transform: uppercase;
890
- }
891
-
892
- .post-content td {
893
- padding: 0.4em 0.7em;
894
- }
895
-
896
- .post-content tbody tr:nth-child(2n + 1) {
897
- background-color: rgba(0,0,0,0.1);
898
- padding: 1px;
899
- }
900
-
901
- .post-content tbody tr:nth-child(2n + 2) td:last-child {
902
- box-shadow:
903
- inset 1px 0 rgba(0,0,0,0.1),
904
- inset -1px 0 rgba(0,0,0,0.1);
905
- }
906
-
907
- .post-content tbody tr:nth-child(2n + 2) td {
908
- box-shadow: inset 1px 0 rgba(0,0,0,0.1);
909
- }
910
-
911
- .post-content tbody tr:last-child {
912
- border-bottom: 1px solid rgba(0,0,0,.1);
913
- }
914
-
915
- .page-footer {
916
- padding: 60px 5vmin;
917
- margin: 60px auto 0;
918
- text-align: center;
919
- background-color: #f8f8f8;
920
- }
921
-
922
- .page-footer h3 {
923
- margin: 0.5rem 0 0 0;
924
- }
925
-
926
- .page-footer p {
927
- max-width: 500px;
928
- margin: 1rem auto 1.5rem;
929
- font-size: 1.7rem;
930
- line-height: 1.5em;
931
- color: rgba(0,0,0,0.6)
932
- }
933
-
934
- .powered {
935
- display: inline-flex;
936
- align-items: center;
937
- margin: 30px 0 0;
938
- padding: 6px 9px 6px 6px;
939
- border: rgba(0,0,0,0.1) 1px solid;
940
- font-size: 12px;
941
- line-height: 12px;
942
- letter-spacing: -0.2px;
943
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
944
- font-weight: 500;
945
- color: #222;
946
- text-decoration: none;
947
- background: #fff;
948
- border-radius: 6px;
949
- }
950
-
951
- .powered svg {
952
- height: 16px;
953
- width: 16px;
954
- margin: 0 6px 0 0;
955
- }
956
-
957
- @media (max-width: 600px) {
958
- body {
959
- font-size: 1.6rem;
960
- }
961
- h1 {
962
- font-size: 3rem;
963
- }
964
-
965
- h2 {
966
- font-size: 2.2rem;
967
- }
968
- }
969
-
970
- @media (max-width: 400px) {
971
- h1 {
972
- font-size: 2.6rem;
973
- line-height: 1.15em;
974
- }
975
- h2 {
976
- font-size: 2rem;
977
- line-height: 1.2em;
978
- }
979
- h3 {
980
- font-size: 1.7rem;
981
- }
982
- }
983
-
984
- {{amp_style}}
985
- </style>
986
-
987
- {{!-- AMP Boilerplate --}}
988
- <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
989
- <script async src="https://cdn.ampproject.org/v0.js"></script>
990
-
991
- {{amp_components}}
992
-
993
- </head>
994
-
995
- <body class="amp-template">
996
- {{#post}}
997
- <header class="page-header">
998
- <a href="{{@site.url}}">
999
- {{#if @site.icon}}
1000
- <amp-img class="site-icon" src="{{img_url @site.icon absolute="true"}}" width="50" height="50" layout="fixed" alt="{{@site.title}}"></amp-img>
1001
- {{else}}
1002
- {{@site.title}}
1003
- {{/if}}
1004
- </a>
1005
- </header>
1006
-
1007
- <main class="content" role="main">
1008
- <article class="post">
1009
-
1010
- <header class="post-header">
1011
- <h1 class="post-title">{{title}}</h1>
1012
- <section class="post-meta">
1013
- {{primary_author.name}} -
1014
- <time class="post-date" datetime="{{date format="YYYY-MM-DD"}}">{{date format="DD MMM YYYY"}}</time>
1015
- </section>
1016
- </header>
1017
- {{#if feature_image}}
1018
- <figure class="post-image">
1019
- <amp-img src="{{img_url feature_image absolute="true"}}" width="600" height="340" layout="responsive"
1020
- alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
1021
- ></amp-img>
1022
- </figure>
1023
- {{/if}}
1024
- <section class="post-content">
1025
-
1026
- {{amp_content}}
1027
-
1028
- </section>
1029
-
1030
- </article>
1031
- </main>
1032
- {{/post}}
1033
- <footer class="page-footer">
1034
- {{#if @site.icon}}
1035
- <amp-img class="site-icon" src="{{img_url @site.icon absolute="true"}}" width="50" height="50" layout="fixed" alt="{{@site.title}}"></amp-img>
1036
- {{/if}}
1037
- <h3>{{@site.title}}</h3>
1038
- {{#if @site.description}}
1039
- <p>{{@site.description}}</p>
1040
- {{/if}}
1041
- <p><a href="{{@site.url}}">Read more posts →</a></p>
1042
- <a class="powered" href="https://ghost.org" target="_blank" rel="noopener"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 156 156"><g fill="none" fill-rule="evenodd"><rect fill="#15212B" width="156" height="156" rx="27"/><g transform="translate(36 36)" fill="#F6F8FA"><path d="M0 71.007A4.004 4.004 0 014 67h26a4 4 0 014 4.007v8.986A4.004 4.004 0 0130 84H4a4 4 0 01-4-4.007v-8.986zM50 71.007A4.004 4.004 0 0154 67h26a4 4 0 014 4.007v8.986A4.004 4.004 0 0180 84H54a4 4 0 01-4-4.007v-8.986z"/><rect y="34" width="84" height="17" rx="4"/><path d="M0 4.007A4.007 4.007 0 014.007 0h41.986A4.003 4.003 0 0150 4.007v8.986A4.007 4.007 0 0145.993 17H4.007A4.003 4.003 0 010 12.993V4.007z"/><rect x="67" width="17" height="17" rx="4"/></g></g></svg> Published with Ghost</a>
1043
- </footer>
1044
- {{amp_analytics}}
1045
- </body>
1046
- </html>