ghost 4.15.1 → 4.16.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 (47) 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 +1 -1
  4. package/content/themes/casper/default.hbs +2 -2
  5. package/content/themes/casper/package.json +1 -1
  6. package/content/themes/casper/page.hbs +28 -26
  7. package/content/themes/casper/partials/post-card.hbs +2 -2
  8. package/content/themes/casper/post.hbs +67 -65
  9. package/content/themes/casper/tag.hbs +2 -2
  10. package/core/built/assets/ghost-dark-bb2831fc27fcb02893ed0a761207dc63.css +1 -0
  11. package/core/built/assets/{ghost.min-e35cfee26d942c364166f57f3dcc9e75.js → ghost.min-d1d99f3ed6e0f427874b2a11e7078475.js} +228 -187
  12. package/core/built/assets/ghost.min-e7612edfa72b0fe2c201b387923e6fc7.css +1 -0
  13. package/core/built/assets/icons/discount-bubble.svg +1 -0
  14. package/core/built/assets/{vendor.min-ca33abc718f21a51327841d58f8875d0.js → vendor.min-3660ec7864887f1496fe7a27fd23ab76.js} +44 -42
  15. package/core/frontend/helpers/ghost_head.js +7 -1
  16. package/core/frontend/services/settings/loader.js +2 -2
  17. package/core/frontend/services/theme-engine/middleware.js +4 -1
  18. package/core/server/api/canary/settings.js +13 -144
  19. package/core/server/api/canary/utils/validators/input/settings.js +23 -1
  20. package/core/server/api/v3/settings.js +13 -132
  21. package/core/server/api/v3/utils/validators/input/settings.js +23 -1
  22. package/core/server/data/exporter/table-lists.js +1 -0
  23. package/core/server/data/importer/import-manager.js +398 -0
  24. package/core/server/data/importer/importers/data/data-importer.js +162 -0
  25. package/core/server/data/importer/importers/data/index.js +1 -162
  26. package/core/server/data/importer/index.js +1 -379
  27. package/core/server/data/migrations/versions/4.16/01-add-custom-theme-settings-table.js +9 -0
  28. package/core/server/data/schema/schema.js +16 -0
  29. package/core/server/models/custom-theme-setting.js +9 -0
  30. package/core/server/models/index.js +2 -0
  31. package/core/server/services/custom-theme-settings.js +8 -0
  32. package/core/server/services/members/api.js +1 -0
  33. package/core/server/services/settings/index.js +13 -16
  34. package/core/server/services/settings/settings-bread-service.js +188 -0
  35. package/core/server/services/settings/settings-utils.js +32 -0
  36. package/core/server/services/themes/ThemeStorage.js +5 -4
  37. package/core/server/services/themes/activation-bridge.js +14 -0
  38. package/core/server/services/themes/validate.js +5 -2
  39. package/core/server/web/admin/views/default-prod.html +4 -4
  40. package/core/server/web/admin/views/default.html +4 -4
  41. package/core/server/web/members/app.js +2 -0
  42. package/core/shared/custom-theme-settings-cache.js +3 -0
  43. package/core/shared/labs.js +2 -1
  44. package/package.json +28 -27
  45. package/yarn.lock +806 -795
  46. package/core/built/assets/ghost-dark-faf931d90e92535e6c03ca16793cbe7b.css +0 -1
  47. package/core/built/assets/ghost.min-7aa074ad556a8455155ac88ceaca03ab.css +0 -1
@@ -7,78 +7,80 @@ into the {body} tag of the default.hbs template --}}
7
7
  {{#post}}
8
8
  {{!-- Everything inside the #post block pulls data from the post --}}
9
9
 
10
- <article class="article {{post_class}}">
10
+ <main id="site-main" class="site-main">
11
+ <article class="article {{post_class}}">
11
12
 
12
- <header class="article-header gh-canvas">
13
+ <header class="article-header gh-canvas">
13
14
 
14
- {{#if primary_tag}}
15
- <section class="article-tag">
16
- <a href="{{primary_tag.url}}">{{primary_tag.name}}</a>
17
- </section>
18
- {{/if}}
19
-
20
- <h1 class="article-title">{{title}}</h1>
21
-
22
- {{#if custom_excerpt}}
23
- <p class="article-excerpt">{{custom_excerpt}}</p>
24
- {{/if}}
25
-
26
- <div class="article-byline">
27
- <section class="article-byline-content">
28
- <ul class="author-list">
29
- {{#foreach authors}}
30
- <li class="author-list-item">
31
- {{#if profile_image}}
32
- <a href="{{url}}" class="author-avatar">
33
- <img class="author-profile-image" src="{{img_url profile_image size="xs"}}" alt="{{name}}" />
34
- </a>
35
- {{else}}
36
- <a href="{{url}}" class="author-avatar author-profile-image">{{> "icons/avatar"}}</a>
37
- {{/if}}
38
- </li>
39
- {{/foreach}}
40
- </ul>
41
- <div class="article-byline-meta">
42
- <h4 class="author-name">{{authors}}</h4>
43
- <div class="byline-meta-content">
44
- <time class="byline-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time>
45
- <span class="byline-reading-time"><span class="bull">&bull;</span> {{reading_time}}</span>
46
- </div>
47
- </div>
15
+ {{#if primary_tag}}
16
+ <section class="article-tag">
17
+ <a href="{{primary_tag.url}}">{{primary_tag.name}}</a>
48
18
  </section>
49
- </div>
50
-
51
- {{#if feature_image}}
52
- <figure class="article-image">
53
- {{!-- This is a responsive image, it loads different sizes depending on device
54
- https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
55
- <img
56
- srcset="{{img_url feature_image size="s"}} 300w,
57
- {{img_url feature_image size="m"}} 600w,
58
- {{img_url feature_image size="l"}} 1000w,
59
- {{img_url feature_image size="xl"}} 2000w"
60
- sizes="(min-width: 1400px) 1400px, 92vw"
61
- src="{{img_url feature_image size="xl"}}"
62
- alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
63
- />
64
- {{#if feature_image_caption}}
65
- <figcaption>{{feature_image_caption}}</figcaption>
66
19
  {{/if}}
67
- </figure>
68
- {{/if}}
69
- </header>
70
20
 
71
- <section class="gh-content gh-canvas">
72
- {{content}}
73
- </section>
21
+ <h1 class="article-title">{{title}}</h1>
22
+
23
+ {{#if custom_excerpt}}
24
+ <p class="article-excerpt">{{custom_excerpt}}</p>
25
+ {{/if}}
26
+
27
+ <div class="article-byline">
28
+ <section class="article-byline-content">
29
+ <ul class="author-list">
30
+ {{#foreach authors}}
31
+ <li class="author-list-item">
32
+ {{#if profile_image}}
33
+ <a href="{{url}}" class="author-avatar">
34
+ <img class="author-profile-image" src="{{img_url profile_image size="xs"}}" alt="{{name}}" />
35
+ </a>
36
+ {{else}}
37
+ <a href="{{url}}" class="author-avatar author-profile-image">{{> "icons/avatar"}}</a>
38
+ {{/if}}
39
+ </li>
40
+ {{/foreach}}
41
+ </ul>
42
+ <div class="article-byline-meta">
43
+ <h4 class="author-name">{{authors}}</h4>
44
+ <div class="byline-meta-content">
45
+ <time class="byline-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time>
46
+ <span class="byline-reading-time"><span class="bull">&bull;</span> {{reading_time}}</span>
47
+ </div>
48
+ </div>
49
+ </section>
50
+ </div>
51
+
52
+ {{#if feature_image}}
53
+ <figure class="article-image">
54
+ {{!-- This is a responsive image, it loads different sizes depending on device
55
+ https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
56
+ <img
57
+ srcset="{{img_url feature_image size="s"}} 300w,
58
+ {{img_url feature_image size="m"}} 600w,
59
+ {{img_url feature_image size="l"}} 1000w,
60
+ {{img_url feature_image size="xl"}} 2000w"
61
+ sizes="(min-width: 1400px) 1400px, 92vw"
62
+ src="{{img_url feature_image size="xl"}}"
63
+ alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
64
+ />
65
+ {{#if feature_image_caption}}
66
+ <figcaption>{{feature_image_caption}}</figcaption>
67
+ {{/if}}
68
+ </figure>
69
+ {{/if}}
70
+ </header>
74
71
 
75
- {{!--
76
- <section class="article-comments gh-canvas">
77
- If you want to embed comments, this is a good place to paste your code!
78
- </section>
79
- --}}
72
+ <section class="gh-content gh-canvas">
73
+ {{content}}
74
+ </section>
75
+
76
+ {{!--
77
+ <section class="article-comments gh-canvas">
78
+ If you want to embed comments, this is a good place to paste your code!
79
+ </section>
80
+ --}}
80
81
 
81
- </article>
82
+ </article>
83
+ </main>
82
84
 
83
85
  {{!-- A signup call to action is displayed here, unless viewed as a logged-in member --}}
84
86
  {{#unless @member}}
@@ -2,7 +2,7 @@
2
2
  {{!-- The tag above means - insert everything in this file into the {body} of the default.hbs template --}}
3
3
 
4
4
 
5
- <section class="outer">
5
+ <main id="site-main" class="site-main outer">
6
6
  <div class="inner posts">
7
7
  <div class="post-feed">
8
8
 
@@ -54,4 +54,4 @@
54
54
 
55
55
  </div>
56
56
  </div>
57
- </section>
57
+ </main>