ghost 5.2.2 → 5.3.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.
Files changed (259) hide show
  1. package/content/themes/casper/assets/built/screen.css +1 -1
  2. package/content/themes/casper/assets/built/screen.css.map +1 -1
  3. package/content/themes/casper/assets/css/screen.css +31 -1
  4. package/content/themes/casper/default.hbs +1 -0
  5. package/content/themes/casper/package.json +1 -1
  6. package/content/themes/casper/partials/icons/search.hbs +1 -0
  7. package/core/boot.js +3 -1
  8. package/core/bridge.js +7 -0
  9. package/core/built/assets/codemirror/{codemirror-d25c379b87ec8b33d54ac7149bc0b6ae.js → codemirror-30201ab2cff61db847193fc9f5ed922d.js} +1 -1
  10. package/core/built/assets/ghost-dark-9e5d1f0dfae41232e5e34e4d0df53ae0.css +1 -0
  11. package/core/built/assets/ghost.min-e7cfbd1800f8e99b9158f74f1e39cd76.css +1 -0
  12. package/core/built/assets/{ghost.min-971a0ff706bbf9e24f0b0a5770c8fc41.js → ghost.min-f4bba3a2a5ef256b82641345505d4f0f.js} +69 -66
  13. package/core/built/assets/icons/activity-placeholder.svg +3 -0
  14. package/core/built/assets/simplemde/{simplemde-3ffc0ec9e9fecf29b9a499db678c9e65.js → simplemde-fb4527da6e489b34dc24b28ea870b286.js} +1 -1
  15. package/core/built/assets/{vendor.min-ea369e6487643585f35409d474b06789.js → vendor.min-4076498ccd6c8412365f43b156084ed8.js} +119 -117
  16. package/core/built/assets/{vendor.min-ba66b98f7c24fa40e061c7ffc94f4e23.css → vendor.min-4a6661c574707ceca220aa2e76558995.css} +2 -1
  17. package/core/frontend/helpers/comment_count.js +25 -0
  18. package/core/frontend/helpers/comments.js +67 -0
  19. package/core/frontend/helpers/date.js +3 -1
  20. package/core/frontend/helpers/ghost_head.js +13 -0
  21. package/core/frontend/services/admin-auth-assets/index.js +4 -0
  22. package/core/frontend/services/admin-auth-assets/service.js +93 -0
  23. package/core/frontend/services/comment-counts-assets/index.js +4 -0
  24. package/core/frontend/services/comment-counts-assets/service.js +59 -0
  25. package/core/frontend/services/theme-engine/middleware/update-global-template-options.js +5 -1
  26. package/core/frontend/src/admin-auth/index.html +5 -0
  27. package/core/frontend/src/admin-auth/message-handler.js +75 -0
  28. package/core/frontend/src/comment-counts/js/comment-counts.js +71 -0
  29. package/core/frontend/web/site.js +3 -0
  30. package/core/server/api/{canary → endpoints}/actions.js +0 -0
  31. package/core/server/api/{canary → endpoints}/authentication.js +0 -0
  32. package/core/server/api/{canary → endpoints}/authors-public.js +0 -0
  33. package/core/server/api/endpoints/comments-comments.js +247 -0
  34. package/core/server/api/endpoints/comments.js +25 -0
  35. package/core/server/api/{canary → endpoints}/config.js +0 -0
  36. package/core/server/api/{canary → endpoints}/custom-theme-settings.js +0 -0
  37. package/core/server/api/{canary → endpoints}/db.js +0 -0
  38. package/core/server/api/{canary → endpoints}/email-post.js +0 -0
  39. package/core/server/api/{canary → endpoints}/email-previews.js +0 -0
  40. package/core/server/api/{canary → endpoints}/emails.js +0 -0
  41. package/core/server/api/endpoints/explore.js +12 -0
  42. package/core/server/api/{canary → endpoints}/files.js +0 -0
  43. package/core/server/api/{canary → endpoints}/identities.js +0 -0
  44. package/core/server/api/{canary → endpoints}/images.js +0 -0
  45. package/core/server/api/{canary → endpoints}/index.js +16 -0
  46. package/core/server/api/{canary → endpoints}/integrations.js +0 -0
  47. package/core/server/api/{canary → endpoints}/invites.js +0 -0
  48. package/core/server/api/{canary → endpoints}/labels.js +0 -0
  49. package/core/server/api/{canary → endpoints}/mail.js +0 -0
  50. package/core/server/api/{canary → endpoints}/media.js +0 -0
  51. package/core/server/api/{canary → endpoints}/member-signin-urls.js +0 -0
  52. package/core/server/api/{canary → endpoints}/members-stripe-connect.js +0 -0
  53. package/core/server/api/{canary → endpoints}/members.js +0 -0
  54. package/core/server/api/{canary → endpoints}/newsletters-public.js +0 -0
  55. package/core/server/api/{canary → endpoints}/newsletters.js +0 -0
  56. package/core/server/api/{canary → endpoints}/notifications.js +0 -0
  57. package/core/server/api/{canary → endpoints}/oembed.js +0 -0
  58. package/core/server/api/{canary → endpoints}/offers-public.js +0 -0
  59. package/core/server/api/{canary → endpoints}/offers.js +0 -0
  60. package/core/server/api/{canary → endpoints}/pages-public.js +0 -0
  61. package/core/server/api/{canary → endpoints}/pages.js +0 -0
  62. package/core/server/api/{canary → endpoints}/posts-public.js +0 -0
  63. package/core/server/api/{canary → endpoints}/posts.js +0 -0
  64. package/core/server/api/{canary → endpoints}/previews.js +0 -0
  65. package/core/server/api/{canary → endpoints}/redirects.js +0 -0
  66. package/core/server/api/{canary → endpoints}/roles.js +0 -0
  67. package/core/server/api/{canary → endpoints}/schedules.js +0 -0
  68. package/core/server/api/{canary → endpoints}/session.js +0 -0
  69. package/core/server/api/{canary → endpoints}/settings-public.js +0 -0
  70. package/core/server/api/{canary → endpoints}/settings.js +0 -0
  71. package/core/server/api/{canary → endpoints}/site.js +0 -0
  72. package/core/server/api/{canary → endpoints}/slack.js +0 -0
  73. package/core/server/api/{canary → endpoints}/slugs.js +0 -0
  74. package/core/server/api/{canary → endpoints}/snippets.js +0 -0
  75. package/core/server/api/{canary → endpoints}/stats.js +0 -0
  76. package/core/server/api/{canary → endpoints}/tags-public.js +0 -0
  77. package/core/server/api/{canary → endpoints}/tags.js +0 -0
  78. package/core/server/api/{canary → endpoints}/themes.js +0 -0
  79. package/core/server/api/{canary → endpoints}/tiers-public.js +0 -0
  80. package/core/server/api/{canary → endpoints}/tiers.js +0 -0
  81. package/core/server/api/{canary → endpoints}/users.js +0 -0
  82. package/core/server/api/{canary → endpoints}/utils/index.js +0 -0
  83. package/core/server/api/{canary → endpoints}/utils/permissions.js +3 -3
  84. package/core/server/api/{canary → endpoints}/utils/serializers/index.js +0 -0
  85. package/core/server/api/{canary → endpoints}/utils/serializers/input/authors.js +1 -1
  86. package/core/server/api/{canary → endpoints}/utils/serializers/input/db.js +1 -1
  87. package/core/server/api/{canary → endpoints}/utils/serializers/input/index.js +0 -0
  88. package/core/server/api/{canary → endpoints}/utils/serializers/input/integrations.js +1 -1
  89. package/core/server/api/{canary → endpoints}/utils/serializers/input/media.js +0 -0
  90. package/core/server/api/{canary → endpoints}/utils/serializers/input/members.js +1 -1
  91. package/core/server/api/{canary → endpoints}/utils/serializers/input/pages.js +1 -1
  92. package/core/server/api/{canary → endpoints}/utils/serializers/input/posts.js +1 -1
  93. package/core/server/api/{canary → endpoints}/utils/serializers/input/settings.js +2 -1
  94. package/core/server/api/{canary → endpoints}/utils/serializers/input/tags.js +1 -1
  95. package/core/server/api/{canary → endpoints}/utils/serializers/input/tiers.js +0 -0
  96. package/core/server/api/{canary → endpoints}/utils/serializers/input/users.js +1 -1
  97. package/core/server/api/{canary → endpoints}/utils/serializers/input/utils/slug-filter-order.js +0 -0
  98. package/core/server/api/{canary → endpoints}/utils/serializers/input/utils/url.js +0 -0
  99. package/core/server/api/{canary → endpoints}/utils/serializers/input/webhooks.js +1 -1
  100. package/core/server/api/{canary → endpoints}/utils/serializers/output/all.js +1 -1
  101. package/core/server/api/{canary → endpoints}/utils/serializers/output/authentication.js +1 -1
  102. package/core/server/api/endpoints/utils/serializers/output/comments.js +5 -0
  103. package/core/server/api/{canary → endpoints}/utils/serializers/output/config.js +1 -1
  104. package/core/server/api/{canary → endpoints}/utils/serializers/output/custom-theme-settings.js +0 -0
  105. package/core/server/api/{canary → endpoints}/utils/serializers/output/db.js +1 -1
  106. package/core/server/api/{canary → endpoints}/utils/serializers/output/default.js +1 -1
  107. package/core/server/api/{canary → endpoints}/utils/serializers/output/email-posts.js +0 -0
  108. package/core/server/api/endpoints/utils/serializers/output/explore.js +11 -0
  109. package/core/server/api/{canary → endpoints}/utils/serializers/output/files.js +0 -0
  110. package/core/server/api/{canary → endpoints}/utils/serializers/output/images.js +1 -1
  111. package/core/server/api/{canary → endpoints}/utils/serializers/output/index.js +8 -0
  112. package/core/server/api/{canary → endpoints}/utils/serializers/output/mail.js +1 -1
  113. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/actions.js +0 -0
  114. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/authors.js +0 -0
  115. package/core/server/api/endpoints/utils/serializers/output/mappers/comments.js +50 -0
  116. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/emails.js +0 -0
  117. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/images.js +0 -0
  118. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/index.js +1 -0
  119. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/integrations.js +0 -0
  120. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/newsletters.js +0 -0
  121. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/pages.js +0 -0
  122. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/posts.js +0 -0
  123. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/settings.js +0 -0
  124. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/snippets.js +0 -0
  125. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/tags.js +0 -0
  126. package/core/server/api/{canary → endpoints}/utils/serializers/output/mappers/users.js +0 -0
  127. package/core/server/api/{canary → endpoints}/utils/serializers/output/media.js +0 -0
  128. package/core/server/api/{canary → endpoints}/utils/serializers/output/members-stripe-connect.js +0 -0
  129. package/core/server/api/{canary → endpoints}/utils/serializers/output/members.js +1 -1
  130. package/core/server/api/{canary → endpoints}/utils/serializers/output/notifications.js +1 -1
  131. package/core/server/api/{canary → endpoints}/utils/serializers/output/oembed.js +1 -1
  132. package/core/server/api/{canary → endpoints}/utils/serializers/output/offers.js +1 -1
  133. package/core/server/api/{canary → endpoints}/utils/serializers/output/pages.js +1 -1
  134. package/core/server/api/{canary → endpoints}/utils/serializers/output/posts.js +1 -1
  135. package/core/server/api/{canary → endpoints}/utils/serializers/output/previews.js +0 -0
  136. package/core/server/api/{canary → endpoints}/utils/serializers/output/redirects.js +0 -0
  137. package/core/server/api/{canary → endpoints}/utils/serializers/output/roles.js +1 -1
  138. package/core/server/api/{canary → endpoints}/utils/serializers/output/schedules.js +0 -0
  139. package/core/server/api/{canary → endpoints}/utils/serializers/output/session.js +1 -1
  140. package/core/server/api/{canary → endpoints}/utils/serializers/output/settings.js +0 -0
  141. package/core/server/api/{canary → endpoints}/utils/serializers/output/site.js +1 -1
  142. package/core/server/api/{canary → endpoints}/utils/serializers/output/slack.js +1 -1
  143. package/core/server/api/{canary → endpoints}/utils/serializers/output/slugs.js +1 -1
  144. package/core/server/api/{canary → endpoints}/utils/serializers/output/themes.js +1 -1
  145. package/core/server/api/{canary → endpoints}/utils/serializers/output/tiers.js +1 -1
  146. package/core/server/api/{canary → endpoints}/utils/serializers/output/users.js +1 -1
  147. package/core/server/api/{canary → endpoints}/utils/serializers/output/utils/clean.js +2 -1
  148. package/core/server/api/{canary → endpoints}/utils/serializers/output/utils/date.js +0 -0
  149. package/core/server/api/endpoints/utils/serializers/output/utils/extra-attrs.js +67 -0
  150. package/core/server/api/{canary → endpoints}/utils/serializers/output/utils/post-gating.js +0 -0
  151. package/core/server/api/{canary → endpoints}/utils/serializers/output/utils/url.js +1 -1
  152. package/core/server/api/{canary → endpoints}/utils/validators/index.js +0 -0
  153. package/core/server/api/{canary → endpoints}/utils/validators/input/files.js +0 -0
  154. package/core/server/api/{canary → endpoints}/utils/validators/input/images.js +0 -0
  155. package/core/server/api/{canary → endpoints}/utils/validators/input/index.js +0 -0
  156. package/core/server/api/{canary → endpoints}/utils/validators/input/invitations.js +1 -1
  157. package/core/server/api/{canary → endpoints}/utils/validators/input/invites.js +0 -0
  158. package/core/server/api/{canary → endpoints}/utils/validators/input/labels.js +0 -0
  159. package/core/server/api/{canary → endpoints}/utils/validators/input/media.js +0 -0
  160. package/core/server/api/{canary → endpoints}/utils/validators/input/members.js +0 -0
  161. package/core/server/api/{canary → endpoints}/utils/validators/input/oembed.js +0 -0
  162. package/core/server/api/{canary → endpoints}/utils/validators/input/pages.js +0 -0
  163. package/core/server/api/{canary → endpoints}/utils/validators/input/password_reset.js +1 -1
  164. package/core/server/api/{canary → endpoints}/utils/validators/input/posts.js +0 -0
  165. package/core/server/api/{canary → endpoints}/utils/validators/input/settings.js +0 -0
  166. package/core/server/api/{canary → endpoints}/utils/validators/input/setup.js +1 -1
  167. package/core/server/api/{canary → endpoints}/utils/validators/input/snippets.js +0 -0
  168. package/core/server/api/{canary → endpoints}/utils/validators/input/tags.js +0 -0
  169. package/core/server/api/{canary → endpoints}/utils/validators/input/tiers.js +0 -0
  170. package/core/server/api/{canary → endpoints}/utils/validators/input/users.js +1 -1
  171. package/core/server/api/{canary → endpoints}/utils/validators/input/webhooks.js +0 -0
  172. package/core/server/api/{canary → endpoints}/utils/validators/output/index.js +0 -0
  173. package/core/server/api/{canary → endpoints}/utils/validators/utils/json-schema.js +0 -0
  174. package/core/server/api/{canary → endpoints}/webhooks.js +0 -0
  175. package/core/server/api/index.js +1 -1
  176. package/core/server/data/exporter/table-lists.js +4 -2
  177. package/core/server/data/migrations/versions/5.3/2022-07-04-13-49-add-comments-table.js +13 -0
  178. package/core/server/data/migrations/versions/5.3/2022-07-05-09-36-add-comments-likes-table.js +9 -0
  179. package/core/server/data/migrations/versions/5.3/2022-07-05-09-47-add-comments-reports-table.js +10 -0
  180. package/core/server/data/migrations/versions/5.3/2022-07-05-10-00-add-comment-related-fields-to-members.js +21 -0
  181. package/core/server/data/migrations/versions/5.3/2022-07-05-12-55-add-comments-crud-permissions.js +68 -0
  182. package/core/server/data/migrations/versions/5.3/2022-07-05-15-35-add-comment-notifications-field-to-users-table.js +7 -0
  183. package/core/server/data/migrations/versions/5.3/2022-07-06-07-26-add-comments-enabled-setting.js +8 -0
  184. package/core/server/data/migrations/versions/5.3/2022-07-06-07-58-add-ghost-explore-integration-role.js +31 -0
  185. package/core/server/data/migrations/versions/5.3/2022-07-06-09-13-add-ghost-explore-integration-role-permissions.js +11 -0
  186. package/core/server/data/migrations/versions/5.3/2022-07-06-09-17-add-ghost-explore-integration.js +38 -0
  187. package/core/server/data/migrations/versions/5.3/2022-07-06-09-26-add-ghost-explore-integration-api-key.js +73 -0
  188. package/core/server/data/schema/default-settings/default-settings.json +14 -0
  189. package/core/server/data/schema/fixtures/fixtures.json +65 -2
  190. package/core/server/data/schema/schema.js +31 -1
  191. package/core/server/models/base/plugins/crud.js +15 -0
  192. package/core/server/models/comment-like.js +34 -0
  193. package/core/server/models/comment.js +163 -0
  194. package/core/server/models/member.js +2 -1
  195. package/core/server/models/user.js +2 -1
  196. package/core/server/services/auth/session/express-session.js +1 -1
  197. package/core/server/services/comments/email-templates/new-comment-reply.hbs +199 -0
  198. package/core/server/services/comments/email-templates/new-comment-reply.txt.js +14 -0
  199. package/core/server/services/comments/email-templates/new-comment.hbs +199 -0
  200. package/core/server/services/comments/email-templates/new-comment.txt.js +14 -0
  201. package/core/server/services/comments/emails.js +164 -0
  202. package/core/server/services/comments/index.js +26 -0
  203. package/core/server/services/comments/service.js +24 -0
  204. package/core/server/services/explore/index.js +18 -0
  205. package/core/server/services/explore/service.js +55 -0
  206. package/core/server/services/members/middleware.js +4 -4
  207. package/core/server/services/members/utils.js +2 -1
  208. package/core/server/services/permissions/can-this.js +18 -5
  209. package/core/server/services/permissions/parse-context.js +5 -0
  210. package/core/server/services/permissions/providers.js +17 -1
  211. package/core/server/services/posts/posts-service.js +14 -0
  212. package/core/server/services/users.js +84 -1
  213. package/core/server/web/admin/app.js +4 -0
  214. package/core/server/web/admin/views/default-prod.html +5 -5
  215. package/core/server/web/admin/views/default.html +5 -5
  216. package/core/server/web/api/app.js +2 -2
  217. package/core/server/web/api/{canary → endpoints}/admin/app.js +4 -4
  218. package/core/server/web/api/{canary → endpoints}/admin/middleware.js +1 -0
  219. package/core/server/web/api/{canary → endpoints}/admin/routes.js +6 -1
  220. package/core/server/web/api/{canary → endpoints}/content/app.js +4 -4
  221. package/core/server/web/api/{canary → endpoints}/content/middleware.js +0 -0
  222. package/core/server/web/api/{canary → endpoints}/content/routes.js +1 -1
  223. package/core/server/web/api/testmode/routes.js +1 -1
  224. package/core/server/web/comments/index.js +1 -0
  225. package/core/server/web/comments/routes.js +28 -0
  226. package/core/server/web/members/app.js +5 -0
  227. package/core/server/web/parent/frontend.js +1 -0
  228. package/core/shared/config/defaults.json +16 -6
  229. package/core/shared/config/env/config.testing.json +4 -0
  230. package/core/shared/config/overrides.json +1 -0
  231. package/core/shared/labs.js +2 -1
  232. package/core/shared/settings-cache/public.js +2 -1
  233. package/package.json +20 -20
  234. package/yarn.lock +425 -275
  235. package/Gruntfile.js +0 -384
  236. package/core/built/assets/ghost-dark-923c90399aa560625a983a6ae9abb38c.css +0 -1
  237. package/core/built/assets/ghost.min-c74f50609022cebf13ad28810def68b6.css +0 -1
  238. package/core/built/assets/img/contributors/AileenCGN-bf8b9ffbb34c0fd93beb8136af07771b.jpeg +0 -0
  239. package/core/built/assets/img/contributors/ErisDS-c958ccb9e3597320dee745a42f478569.jpeg +0 -0
  240. package/core/built/assets/img/contributors/GeorginaLusby-6cea5defddee3c4ea7320e580521e832.jpeg +0 -0
  241. package/core/built/assets/img/contributors/JohnONolan-47041b80c35c6341b9b929b03139aecc.jpeg +0 -0
  242. package/core/built/assets/img/contributors/acburdine-d9777fe2601dc215afb6723315829c89.jpeg +0 -0
  243. package/core/built/assets/img/contributors/bnookala-5896fcdd2f477495323e420efe890657.jpeg +0 -0
  244. package/core/built/assets/img/contributors/cobbspur-07ded67009757d12517621fc856eba62.jpeg +0 -0
  245. package/core/built/assets/img/contributors/dbalders-452347a406c2ca23657daea9100878f3.jpeg +0 -0
  246. package/core/built/assets/img/contributors/disordinary-b9997e5debb59b7aadc79ba90955b662.jpeg +0 -0
  247. package/core/built/assets/img/contributors/felixrieseberg-ecf29e8eadc58fab999c507049f898cf.jpeg +0 -0
  248. package/core/built/assets/img/contributors/frantzypants-637b03f85dff89700a661fde79daea5c.jpeg +0 -0
  249. package/core/built/assets/img/contributors/halfdan-00d6783e5fba2900ee1380939297d8ee.jpeg +0 -0
  250. package/core/built/assets/img/contributors/jaswilli-8cc9a8d2539ca03239d113dfb25ff5c2.jpeg +0 -0
  251. package/core/built/assets/img/contributors/kevinansfield-925606c55bc2f3f2f05c0fa58b953ad1.jpeg +0 -0
  252. package/core/built/assets/img/contributors/kevinkucharczyk-3c7dfe2a103a83737b9d5ee8e19d67f8.jpeg +0 -0
  253. package/core/built/assets/img/contributors/kirrg001-79823418f2ca21e81719653f0286f95b.jpeg +0 -0
  254. package/core/built/assets/img/contributors/mixonic-1ff87736dd02cfa080ae109b45131aa6.png +0 -0
  255. package/core/built/assets/img/contributors/rwjblue-5c7cc009cda45baca2d45f0d1ed19e48.jpeg +0 -0
  256. package/core/built/assets/img/contributors/sebgie-0fb02df00ee7834dbcc8beba84aec81e.png +0 -0
  257. package/core/built/assets/img/contributors/tgriesser-d871cbf74a871c0fb6d855e76a893f7e.png +0 -0
  258. package/core/server/api/canary/utils/serializers/output/utils/extra-attrs.js +0 -33
  259. package/urls.json +0 -597
package/urls.json DELETED
@@ -1,597 +0,0 @@
1
- {
2
- "618b9c362ca142fcb133ed92": {
3
- "url": "/integrations/",
4
- "generatorId": 0,
5
- "resource": {
6
- "_events": {},
7
- "_eventsCount": 2,
8
- "data": {
9
- "id": "618b9c362ca142fcb133ed92",
10
- "uuid": "1014c0fe-ffe4-4f7f-86fe-58c959c7aa18",
11
- "slug": "integrations",
12
- "comment_id": "618b9c362ca142fcb133ed92",
13
- "feature_image": "https://static.ghost.org/v4.0.0/images/app-integrations.png",
14
- "featured": false,
15
- "type": "post",
16
- "visibility": "public",
17
- "email_recipient_filter": "none",
18
- "created_at": "2021-11-10T10:17:26.000Z",
19
- "created_by": "1",
20
- "updated_at": "2021-11-10T10:17:26.000Z",
21
- "updated_by": "1",
22
- "published_at": "2021-11-10T10:17:26.000Z",
23
- "published_by": "1",
24
- "canonical_url": null,
25
- "tags": [
26
- {
27
- "post_id": "618b9c362ca142fcb133ed92",
28
- "visibility": "public",
29
- "id": "618b9c352ca142fcb133ed2c",
30
- "slug": "getting-started"
31
- }
32
- ],
33
- "authors": [
34
- {
35
- "post_id": "618b9c362ca142fcb133ed92",
36
- "id": "5951f5fca366002ebd5dbef7",
37
- "slug": "ghost"
38
- }
39
- ],
40
- "author": "5951f5fca366002ebd5dbef7",
41
- "primary_author": {
42
- "post_id": "618b9c362ca142fcb133ed92",
43
- "id": "5951f5fca366002ebd5dbef7",
44
- "slug": "ghost"
45
- },
46
- "primary_tag": {
47
- "post_id": "618b9c362ca142fcb133ed92",
48
- "visibility": "public",
49
- "id": "618b9c352ca142fcb133ed2c",
50
- "slug": "getting-started"
51
- }
52
- },
53
- "config": {
54
- "type": "posts",
55
- "reserved": true
56
- }
57
- }
58
- },
59
- "618b9c372ca142fcb133ed94": {
60
- "url": "/grow/",
61
- "generatorId": 0,
62
- "resource": {
63
- "_events": {},
64
- "_eventsCount": 2,
65
- "data": {
66
- "id": "618b9c372ca142fcb133ed94",
67
- "uuid": "760cd9f7-4972-4899-980f-dde8c4dbb238",
68
- "slug": "grow",
69
- "comment_id": "618b9c372ca142fcb133ed94",
70
- "feature_image": "https://static.ghost.org/v4.0.0/images/admin-settings.png",
71
- "featured": false,
72
- "type": "post",
73
- "visibility": "public",
74
- "email_recipient_filter": "none",
75
- "created_at": "2021-11-10T10:17:27.000Z",
76
- "created_by": "1",
77
- "updated_at": "2021-11-10T10:17:27.000Z",
78
- "updated_by": "1",
79
- "published_at": "2021-11-10T10:17:27.000Z",
80
- "published_by": "1",
81
- "canonical_url": null,
82
- "tags": [
83
- {
84
- "post_id": "618b9c372ca142fcb133ed94",
85
- "visibility": "public",
86
- "id": "618b9c352ca142fcb133ed2c",
87
- "slug": "getting-started"
88
- }
89
- ],
90
- "authors": [
91
- {
92
- "post_id": "618b9c372ca142fcb133ed94",
93
- "id": "5951f5fca366002ebd5dbef7",
94
- "slug": "ghost"
95
- }
96
- ],
97
- "author": "5951f5fca366002ebd5dbef7",
98
- "primary_author": {
99
- "post_id": "618b9c372ca142fcb133ed94",
100
- "id": "5951f5fca366002ebd5dbef7",
101
- "slug": "ghost"
102
- },
103
- "primary_tag": {
104
- "post_id": "618b9c372ca142fcb133ed94",
105
- "visibility": "public",
106
- "id": "618b9c352ca142fcb133ed2c",
107
- "slug": "getting-started"
108
- }
109
- },
110
- "config": {
111
- "type": "posts",
112
- "reserved": true
113
- }
114
- }
115
- },
116
- "618b9c372ca142fcb133ed96": {
117
- "url": "/sell/",
118
- "generatorId": 0,
119
- "resource": {
120
- "_events": {},
121
- "_eventsCount": 2,
122
- "data": {
123
- "id": "618b9c372ca142fcb133ed96",
124
- "uuid": "85982fdf-4788-463c-8da0-41996425f23d",
125
- "slug": "sell",
126
- "comment_id": "618b9c372ca142fcb133ed96",
127
- "feature_image": "https://static.ghost.org/v4.0.0/images/organizing-your-content.png",
128
- "featured": false,
129
- "type": "post",
130
- "visibility": "paid",
131
- "email_recipient_filter": "none",
132
- "created_at": "2021-11-10T10:17:27.000Z",
133
- "created_by": "1",
134
- "updated_at": "2021-11-10T10:17:27.000Z",
135
- "updated_by": "1",
136
- "published_at": "2021-11-10T10:17:28.000Z",
137
- "published_by": "1",
138
- "canonical_url": null,
139
- "tags": [
140
- {
141
- "post_id": "618b9c372ca142fcb133ed96",
142
- "visibility": "public",
143
- "id": "618b9c352ca142fcb133ed2c",
144
- "slug": "getting-started"
145
- }
146
- ],
147
- "authors": [
148
- {
149
- "post_id": "618b9c372ca142fcb133ed96",
150
- "id": "5951f5fca366002ebd5dbef7",
151
- "slug": "ghost"
152
- }
153
- ],
154
- "author": "5951f5fca366002ebd5dbef7",
155
- "primary_author": {
156
- "post_id": "618b9c372ca142fcb133ed96",
157
- "id": "5951f5fca366002ebd5dbef7",
158
- "slug": "ghost"
159
- },
160
- "primary_tag": {
161
- "post_id": "618b9c372ca142fcb133ed96",
162
- "visibility": "public",
163
- "id": "618b9c352ca142fcb133ed2c",
164
- "slug": "getting-started"
165
- }
166
- },
167
- "config": {
168
- "type": "posts",
169
- "reserved": true
170
- }
171
- }
172
- },
173
- "618b9c372ca142fcb133ed98": {
174
- "url": "/portal/",
175
- "generatorId": 0,
176
- "resource": {
177
- "_events": {},
178
- "_eventsCount": 2,
179
- "data": {
180
- "id": "618b9c372ca142fcb133ed98",
181
- "uuid": "564c2a9e-0248-4a55-916a-8ac7c49a412c",
182
- "slug": "portal",
183
- "comment_id": "618b9c372ca142fcb133ed98",
184
- "feature_image": "https://static.ghost.org/v4.0.0/images/creating-a-custom-theme.png",
185
- "featured": false,
186
- "type": "post",
187
- "visibility": "public",
188
- "email_recipient_filter": "none",
189
- "created_at": "2021-11-10T10:17:27.000Z",
190
- "created_by": "1",
191
- "updated_at": "2021-11-10T10:17:27.000Z",
192
- "updated_by": "1",
193
- "published_at": "2021-11-10T10:17:29.000Z",
194
- "published_by": "1",
195
- "canonical_url": null,
196
- "tags": [
197
- {
198
- "post_id": "618b9c372ca142fcb133ed98",
199
- "visibility": "public",
200
- "id": "618b9c352ca142fcb133ed2c",
201
- "slug": "getting-started"
202
- }
203
- ],
204
- "authors": [
205
- {
206
- "post_id": "618b9c372ca142fcb133ed98",
207
- "id": "5951f5fca366002ebd5dbef7",
208
- "slug": "ghost"
209
- }
210
- ],
211
- "author": "5951f5fca366002ebd5dbef7",
212
- "primary_author": {
213
- "post_id": "618b9c372ca142fcb133ed98",
214
- "id": "5951f5fca366002ebd5dbef7",
215
- "slug": "ghost"
216
- },
217
- "primary_tag": {
218
- "post_id": "618b9c372ca142fcb133ed98",
219
- "visibility": "public",
220
- "id": "618b9c352ca142fcb133ed2c",
221
- "slug": "getting-started"
222
- }
223
- },
224
- "config": {
225
- "type": "posts",
226
- "reserved": true
227
- }
228
- }
229
- },
230
- "618b9c372ca142fcb133ed9a": {
231
- "url": "/write/",
232
- "generatorId": 0,
233
- "resource": {
234
- "_events": {},
235
- "_eventsCount": 2,
236
- "data": {
237
- "id": "618b9c372ca142fcb133ed9a",
238
- "uuid": "71fc2d7c-dbe1-4a56-adb9-f74c8cadbfc6",
239
- "slug": "write",
240
- "comment_id": "618b9c372ca142fcb133ed9a",
241
- "feature_image": "https://static.ghost.org/v4.0.0/images/writing-posts-with-ghost.png",
242
- "featured": false,
243
- "type": "post",
244
- "visibility": "public",
245
- "email_recipient_filter": "none",
246
- "created_at": "2021-11-10T10:17:27.000Z",
247
- "created_by": "1",
248
- "updated_at": "2021-11-10T10:17:27.000Z",
249
- "updated_by": "1",
250
- "published_at": "2021-11-10T10:17:30.000Z",
251
- "published_by": "1",
252
- "canonical_url": null,
253
- "tags": [
254
- {
255
- "post_id": "618b9c372ca142fcb133ed9a",
256
- "visibility": "public",
257
- "id": "618b9c352ca142fcb133ed2c",
258
- "slug": "getting-started"
259
- }
260
- ],
261
- "authors": [
262
- {
263
- "post_id": "618b9c372ca142fcb133ed9a",
264
- "id": "5951f5fca366002ebd5dbef7",
265
- "slug": "ghost"
266
- }
267
- ],
268
- "author": "5951f5fca366002ebd5dbef7",
269
- "primary_author": {
270
- "post_id": "618b9c372ca142fcb133ed9a",
271
- "id": "5951f5fca366002ebd5dbef7",
272
- "slug": "ghost"
273
- },
274
- "primary_tag": {
275
- "post_id": "618b9c372ca142fcb133ed9a",
276
- "visibility": "public",
277
- "id": "618b9c352ca142fcb133ed2c",
278
- "slug": "getting-started"
279
- }
280
- },
281
- "config": {
282
- "type": "posts",
283
- "reserved": true
284
- }
285
- }
286
- },
287
- "618b9c372ca142fcb133ed9c": {
288
- "url": "/design/",
289
- "generatorId": 0,
290
- "resource": {
291
- "_events": {},
292
- "_eventsCount": 2,
293
- "data": {
294
- "id": "618b9c372ca142fcb133ed9c",
295
- "uuid": "cdd30e29-aace-41b9-8d0a-67f4697db701",
296
- "slug": "design",
297
- "comment_id": "618b9c372ca142fcb133ed9c",
298
- "feature_image": "https://static.ghost.org/v4.0.0/images/publishing-options.png",
299
- "featured": false,
300
- "type": "post",
301
- "visibility": "public",
302
- "email_recipient_filter": "none",
303
- "created_at": "2021-11-10T10:17:27.000Z",
304
- "created_by": "1",
305
- "updated_at": "2021-11-10T10:17:27.000Z",
306
- "updated_by": "1",
307
- "published_at": "2021-11-10T10:17:31.000Z",
308
- "published_by": "1",
309
- "canonical_url": null,
310
- "tags": [
311
- {
312
- "post_id": "618b9c372ca142fcb133ed9c",
313
- "visibility": "public",
314
- "id": "618b9c352ca142fcb133ed2c",
315
- "slug": "getting-started"
316
- }
317
- ],
318
- "authors": [
319
- {
320
- "post_id": "618b9c372ca142fcb133ed9c",
321
- "id": "5951f5fca366002ebd5dbef7",
322
- "slug": "ghost"
323
- }
324
- ],
325
- "author": "5951f5fca366002ebd5dbef7",
326
- "primary_author": {
327
- "post_id": "618b9c372ca142fcb133ed9c",
328
- "id": "5951f5fca366002ebd5dbef7",
329
- "slug": "ghost"
330
- },
331
- "primary_tag": {
332
- "post_id": "618b9c372ca142fcb133ed9c",
333
- "visibility": "public",
334
- "id": "618b9c352ca142fcb133ed2c",
335
- "slug": "getting-started"
336
- }
337
- },
338
- "config": {
339
- "type": "posts",
340
- "reserved": true
341
- }
342
- }
343
- },
344
- "618b9c372ca142fcb133ed9e": {
345
- "url": "/welcome/",
346
- "generatorId": 0,
347
- "resource": {
348
- "_events": {},
349
- "_eventsCount": 2,
350
- "data": {
351
- "id": "618b9c372ca142fcb133ed9e",
352
- "uuid": "b1114329-ee44-4adf-bb96-cbb0da751495",
353
- "slug": "welcome",
354
- "comment_id": "618b9c372ca142fcb133ed9e",
355
- "feature_image": "https://static.ghost.org/v4.0.0/images/welcome-to-ghost.png",
356
- "featured": false,
357
- "type": "post",
358
- "visibility": "public",
359
- "email_recipient_filter": "none",
360
- "created_at": "2021-11-10T10:17:27.000Z",
361
- "created_by": "1",
362
- "updated_at": "2021-11-10T10:17:27.000Z",
363
- "updated_by": "1",
364
- "published_at": "2021-11-10T10:17:32.000Z",
365
- "published_by": "1",
366
- "canonical_url": null,
367
- "tags": [
368
- {
369
- "post_id": "618b9c372ca142fcb133ed9e",
370
- "visibility": "public",
371
- "id": "618b9c352ca142fcb133ed2c",
372
- "slug": "getting-started"
373
- }
374
- ],
375
- "authors": [
376
- {
377
- "post_id": "618b9c372ca142fcb133ed9e",
378
- "id": "5951f5fca366002ebd5dbef7",
379
- "slug": "ghost"
380
- }
381
- ],
382
- "author": "5951f5fca366002ebd5dbef7",
383
- "primary_author": {
384
- "post_id": "618b9c372ca142fcb133ed9e",
385
- "id": "5951f5fca366002ebd5dbef7",
386
- "slug": "ghost"
387
- },
388
- "primary_tag": {
389
- "post_id": "618b9c372ca142fcb133ed9e",
390
- "visibility": "public",
391
- "id": "618b9c352ca142fcb133ed2c",
392
- "slug": "getting-started"
393
- }
394
- },
395
- "config": {
396
- "type": "posts",
397
- "reserved": true
398
- }
399
- }
400
- },
401
- "618b9c372ca142fcb133eda0": {
402
- "url": "/about/",
403
- "generatorId": 1,
404
- "resource": {
405
- "_events": {},
406
- "_eventsCount": 2,
407
- "data": {
408
- "id": "618b9c372ca142fcb133eda0",
409
- "uuid": "c44a967e-286a-4e7a-9ebe-18d7c6132b13",
410
- "slug": "about",
411
- "comment_id": "618b9c372ca142fcb133eda0",
412
- "feature_image": null,
413
- "featured": false,
414
- "type": "page",
415
- "status": "published",
416
- "visibility": "public",
417
- "email_recipient_filter": "none",
418
- "created_at": "2021-11-10T10:17:27.000Z",
419
- "created_by": "1",
420
- "updated_at": "2021-11-10T10:17:27.000Z",
421
- "updated_by": "1",
422
- "published_at": "2021-11-10T10:17:33.000Z",
423
- "published_by": "1",
424
- "canonical_url": null,
425
- "author": "5951f5fca366002ebd5dbef7",
426
- "primary_author": null,
427
- "primary_tag": null
428
- },
429
- "config": {
430
- "type": "pages",
431
- "reserved": true
432
- }
433
- }
434
- },
435
- "618b9c372ca142fcb133eda2": {
436
- "url": "/contact/",
437
- "generatorId": 1,
438
- "resource": {
439
- "_events": {},
440
- "_eventsCount": 2,
441
- "data": {
442
- "id": "618b9c372ca142fcb133eda2",
443
- "uuid": "d4e907a2-0fb7-400a-b068-0959ff591ac2",
444
- "slug": "contact",
445
- "comment_id": "618b9c372ca142fcb133eda2",
446
- "feature_image": null,
447
- "featured": false,
448
- "type": "page",
449
- "status": "published",
450
- "visibility": "public",
451
- "email_recipient_filter": "none",
452
- "created_at": "2021-11-10T10:17:27.000Z",
453
- "created_by": "1",
454
- "updated_at": "2021-11-10T10:17:27.000Z",
455
- "updated_by": "1",
456
- "published_at": "2021-11-10T10:17:34.000Z",
457
- "published_by": "1",
458
- "canonical_url": null,
459
- "author": "5951f5fca366002ebd5dbef7",
460
- "primary_author": null,
461
- "primary_tag": null
462
- },
463
- "config": {
464
- "type": "pages",
465
- "reserved": true
466
- }
467
- }
468
- },
469
- "618b9c372ca142fcb133eda4": {
470
- "url": "/privacy/",
471
- "generatorId": 1,
472
- "resource": {
473
- "_events": {},
474
- "_eventsCount": 2,
475
- "data": {
476
- "id": "618b9c372ca142fcb133eda4",
477
- "uuid": "3d0261a9-f165-4d50-b7f4-c2001afa3685",
478
- "slug": "privacy",
479
- "comment_id": "618b9c372ca142fcb133eda4",
480
- "feature_image": null,
481
- "featured": false,
482
- "type": "page",
483
- "status": "published",
484
- "visibility": "public",
485
- "email_recipient_filter": "none",
486
- "created_at": "2021-11-10T10:17:27.000Z",
487
- "created_by": "1",
488
- "updated_at": "2021-11-10T10:17:27.000Z",
489
- "updated_by": "1",
490
- "published_at": "2021-11-10T10:17:35.000Z",
491
- "published_by": "1",
492
- "canonical_url": null,
493
- "author": "5951f5fca366002ebd5dbef7",
494
- "primary_author": null,
495
- "primary_tag": null
496
- },
497
- "config": {
498
- "type": "pages",
499
- "reserved": true
500
- }
501
- }
502
- },
503
- "618b9c372ca142fcb133eda6": {
504
- "url": "/contribute/",
505
- "generatorId": 1,
506
- "resource": {
507
- "_events": {},
508
- "_eventsCount": 2,
509
- "data": {
510
- "id": "618b9c372ca142fcb133eda6",
511
- "uuid": "e892e57d-5020-46ce-a673-a79ed113b8b8",
512
- "slug": "contribute",
513
- "comment_id": "618b9c372ca142fcb133eda6",
514
- "feature_image": null,
515
- "featured": false,
516
- "type": "page",
517
- "status": "published",
518
- "visibility": "public",
519
- "email_recipient_filter": "none",
520
- "created_at": "2021-11-10T10:17:27.000Z",
521
- "created_by": "1",
522
- "updated_at": "2021-11-10T10:17:27.000Z",
523
- "updated_by": "1",
524
- "published_at": "2021-11-10T10:17:36.000Z",
525
- "published_by": "1",
526
- "canonical_url": null,
527
- "author": "5951f5fca366002ebd5dbef7",
528
- "primary_author": null,
529
- "primary_tag": null
530
- },
531
- "config": {
532
- "type": "pages",
533
- "reserved": true
534
- }
535
- }
536
- },
537
- "618b9c352ca142fcb133ed2c": {
538
- "url": "/tag/getting-started/",
539
- "generatorId": 2,
540
- "resource": {
541
- "_events": {},
542
- "_eventsCount": 2,
543
- "data": {
544
- "id": "618b9c352ca142fcb133ed2c",
545
- "name": "Getting Started",
546
- "slug": "getting-started",
547
- "feature_image": null,
548
- "visibility": "public",
549
- "og_image": null,
550
- "og_title": null,
551
- "og_description": null,
552
- "twitter_image": null,
553
- "twitter_title": null,
554
- "twitter_description": null,
555
- "codeinjection_head": null,
556
- "codeinjection_foot": null,
557
- "canonical_url": null,
558
- "accent_color": null,
559
- "created_at": "2021-11-10T10:17:25.000Z",
560
- "created_by": "1",
561
- "updated_at": "2021-11-10T10:17:25.000Z",
562
- "updated_by": "1"
563
- },
564
- "config": {
565
- "type": "tags",
566
- "reserved": true
567
- }
568
- }
569
- },
570
- "5951f5fca366002ebd5dbef7": {
571
- "url": "/author/ghost/",
572
- "generatorId": 3,
573
- "resource": {
574
- "_events": {},
575
- "_eventsCount": 2,
576
- "data": {
577
- "id": "5951f5fca366002ebd5dbef7",
578
- "name": "Ghost",
579
- "slug": "ghost",
580
- "email": "ghost-author@example.com",
581
- "profile_image": "https://static.ghost.org/v4.0.0/images/ghost-user.png",
582
- "cover_image": null,
583
- "status": "active",
584
- "visibility": "public",
585
- "last_seen": null,
586
- "created_at": "2021-11-10T10:17:26.000Z",
587
- "created_by": "1",
588
- "updated_at": "2021-11-10T10:17:26.000Z",
589
- "updated_by": "1"
590
- },
591
- "config": {
592
- "type": "authors",
593
- "reserved": true
594
- }
595
- }
596
- }
597
- }