ghost 5.22.8 → 5.22.10

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 (129) hide show
  1. package/components/tryghost-adapter-manager-5.22.10.tgz +0 -0
  2. package/components/tryghost-api-framework-5.22.10.tgz +0 -0
  3. package/components/tryghost-api-version-compatibility-service-5.22.10.tgz +0 -0
  4. package/components/{tryghost-audience-feedback-5.22.8.tgz → tryghost-audience-feedback-5.22.10.tgz} +0 -0
  5. package/components/tryghost-bootstrap-socket-5.22.10.tgz +0 -0
  6. package/components/tryghost-constants-5.22.10.tgz +0 -0
  7. package/components/tryghost-custom-theme-settings-service-5.22.10.tgz +0 -0
  8. package/components/tryghost-data-generator-5.22.10.tgz +0 -0
  9. package/components/tryghost-domain-events-5.22.10.tgz +0 -0
  10. package/components/tryghost-email-analytics-provider-mailgun-5.22.10.tgz +0 -0
  11. package/components/tryghost-email-analytics-service-5.22.10.tgz +0 -0
  12. package/components/tryghost-email-content-generator-5.22.10.tgz +0 -0
  13. package/components/tryghost-express-dynamic-redirects-5.22.10.tgz +0 -0
  14. package/components/tryghost-extract-api-key-5.22.10.tgz +0 -0
  15. package/components/tryghost-html-to-plaintext-5.22.10.tgz +0 -0
  16. package/components/{tryghost-job-manager-5.22.8.tgz → tryghost-job-manager-5.22.10.tgz} +0 -0
  17. package/components/tryghost-link-redirects-5.22.10.tgz +0 -0
  18. package/components/tryghost-link-replacer-5.22.10.tgz +0 -0
  19. package/components/tryghost-link-tracking-5.22.10.tgz +0 -0
  20. package/components/{tryghost-magic-link-5.22.8.tgz → tryghost-magic-link-5.22.10.tgz} +0 -0
  21. package/components/tryghost-mailgun-client-5.22.10.tgz +0 -0
  22. package/components/tryghost-member-analytics-service-5.22.10.tgz +0 -0
  23. package/components/tryghost-member-attribution-5.22.10.tgz +0 -0
  24. package/components/tryghost-member-events-5.22.10.tgz +0 -0
  25. package/components/tryghost-members-analytics-ingress-5.22.10.tgz +0 -0
  26. package/components/tryghost-members-api-5.22.10.tgz +0 -0
  27. package/components/tryghost-members-csv-5.22.10.tgz +0 -0
  28. package/components/tryghost-members-events-service-5.22.10.tgz +0 -0
  29. package/components/tryghost-members-importer-5.22.10.tgz +0 -0
  30. package/components/{tryghost-members-offers-5.22.8.tgz → tryghost-members-offers-5.22.10.tgz} +0 -0
  31. package/components/tryghost-members-payments-5.22.10.tgz +0 -0
  32. package/components/tryghost-members-ssr-5.22.10.tgz +0 -0
  33. package/components/tryghost-members-stripe-service-5.22.10.tgz +0 -0
  34. package/components/tryghost-minifier-5.22.10.tgz +0 -0
  35. package/components/tryghost-mw-api-version-mismatch-5.22.10.tgz +0 -0
  36. package/components/tryghost-mw-cache-control-5.22.10.tgz +0 -0
  37. package/components/tryghost-mw-error-handler-5.22.10.tgz +0 -0
  38. package/components/tryghost-mw-session-from-token-5.22.10.tgz +0 -0
  39. package/components/tryghost-mw-update-user-last-seen-5.22.10.tgz +0 -0
  40. package/components/tryghost-mw-vhost-5.22.10.tgz +0 -0
  41. package/components/tryghost-oembed-service-5.22.10.tgz +0 -0
  42. package/components/tryghost-package-json-5.22.10.tgz +0 -0
  43. package/components/tryghost-referrers-5.22.10.tgz +0 -0
  44. package/components/tryghost-security-5.22.10.tgz +0 -0
  45. package/components/tryghost-session-service-5.22.10.tgz +0 -0
  46. package/components/tryghost-settings-path-manager-5.22.10.tgz +0 -0
  47. package/components/tryghost-staff-service-5.22.10.tgz +0 -0
  48. package/components/tryghost-stats-service-5.22.10.tgz +0 -0
  49. package/components/{tryghost-tiers-5.22.8.tgz → tryghost-tiers-5.22.10.tgz} +0 -0
  50. package/components/tryghost-update-check-service-5.22.10.tgz +0 -0
  51. package/components/tryghost-verification-trigger-5.22.10.tgz +0 -0
  52. package/components/tryghost-version-notifications-data-service-5.22.10.tgz +0 -0
  53. package/content/themes/casper/assets/built/casper.js +1 -1
  54. package/content/themes/casper/assets/built/casper.js.map +1 -1
  55. package/content/themes/casper/assets/built/screen.css +1 -1
  56. package/content/themes/casper/assets/built/screen.css.map +1 -1
  57. package/content/themes/casper/assets/css/screen.css +332 -194
  58. package/content/themes/casper/assets/js/dropdown.js +81 -0
  59. package/content/themes/casper/assets/js/lib/imagesloaded.pkgd.min.js +7 -0
  60. package/content/themes/casper/default.hbs +28 -28
  61. package/content/themes/casper/gulpfile.js +2 -1
  62. package/content/themes/casper/index.hbs +2 -2
  63. package/content/themes/casper/package.json +10 -6
  64. package/core/built/admin/assets/{chunk.143.106bb339ada01587eb46.js → chunk.143.efc32dbcc893663c95cb.js} +5 -5
  65. package/core/built/admin/assets/{chunk.178.97b7693b2a2e62c60a7b.js → chunk.178.95a503a229a8fd49e91e.js} +4 -4
  66. package/core/built/admin/assets/{ghost-be360e360f53a63fafd228ae89bf96c8.css → ghost-03c7a25d23ad4d0725da171f8d7c7b2a.css} +1 -1
  67. package/core/built/admin/assets/{ghost-dab6700715992e873d0672192fc8e2be.js → ghost-b204dcc6ad523053868da9b2d8d65f80.js} +430 -370
  68. package/core/built/admin/assets/{ghost-dark-08002fad1d09cb7a88d09abf2ce4da29.css → ghost-dark-8896a076fc06ec2b09343b1c9df7feca.css} +1 -1
  69. package/core/built/admin/index.html +3 -3
  70. package/core/server/data/importer/handlers/markdown.js +0 -1
  71. package/core/server/data/importer/importers/data/base.js +26 -39
  72. package/core/server/data/importer/importers/data/custom-theme-settings.js +33 -49
  73. package/core/server/data/importer/importers/data/data-importer.js +38 -68
  74. package/core/server/data/importer/importers/data/settings.js +10 -10
  75. package/core/server/data/importer/importers/data/tags.js +27 -28
  76. package/core/server/data/schema/fixtures/fixture-manager.js +1 -1
  77. package/core/server/services/mega/feedback-buttons.js +19 -5
  78. package/core/server/services/mega/post-email-serializer.js +10 -2
  79. package/core/server/services/member-attribution/index.js +2 -1
  80. package/core/server/web/members/app.js +1 -1
  81. package/package.json +103 -103
  82. package/yarn.lock +68 -49
  83. package/components/tryghost-adapter-manager-5.22.8.tgz +0 -0
  84. package/components/tryghost-api-framework-5.22.8.tgz +0 -0
  85. package/components/tryghost-api-version-compatibility-service-5.22.8.tgz +0 -0
  86. package/components/tryghost-bootstrap-socket-5.22.8.tgz +0 -0
  87. package/components/tryghost-constants-5.22.8.tgz +0 -0
  88. package/components/tryghost-custom-theme-settings-service-5.22.8.tgz +0 -0
  89. package/components/tryghost-data-generator-5.22.8.tgz +0 -0
  90. package/components/tryghost-domain-events-5.22.8.tgz +0 -0
  91. package/components/tryghost-email-analytics-provider-mailgun-5.22.8.tgz +0 -0
  92. package/components/tryghost-email-analytics-service-5.22.8.tgz +0 -0
  93. package/components/tryghost-email-content-generator-5.22.8.tgz +0 -0
  94. package/components/tryghost-express-dynamic-redirects-5.22.8.tgz +0 -0
  95. package/components/tryghost-extract-api-key-5.22.8.tgz +0 -0
  96. package/components/tryghost-html-to-plaintext-5.22.8.tgz +0 -0
  97. package/components/tryghost-link-redirects-5.22.8.tgz +0 -0
  98. package/components/tryghost-link-replacer-5.22.8.tgz +0 -0
  99. package/components/tryghost-link-tracking-5.22.8.tgz +0 -0
  100. package/components/tryghost-mailgun-client-5.22.8.tgz +0 -0
  101. package/components/tryghost-member-analytics-service-5.22.8.tgz +0 -0
  102. package/components/tryghost-member-attribution-5.22.8.tgz +0 -0
  103. package/components/tryghost-member-events-5.22.8.tgz +0 -0
  104. package/components/tryghost-members-analytics-ingress-5.22.8.tgz +0 -0
  105. package/components/tryghost-members-api-5.22.8.tgz +0 -0
  106. package/components/tryghost-members-csv-5.22.8.tgz +0 -0
  107. package/components/tryghost-members-events-service-5.22.8.tgz +0 -0
  108. package/components/tryghost-members-importer-5.22.8.tgz +0 -0
  109. package/components/tryghost-members-payments-5.22.8.tgz +0 -0
  110. package/components/tryghost-members-ssr-5.22.8.tgz +0 -0
  111. package/components/tryghost-members-stripe-service-5.22.8.tgz +0 -0
  112. package/components/tryghost-minifier-5.22.8.tgz +0 -0
  113. package/components/tryghost-mw-api-version-mismatch-5.22.8.tgz +0 -0
  114. package/components/tryghost-mw-cache-control-5.22.8.tgz +0 -0
  115. package/components/tryghost-mw-error-handler-5.22.8.tgz +0 -0
  116. package/components/tryghost-mw-session-from-token-5.22.8.tgz +0 -0
  117. package/components/tryghost-mw-update-user-last-seen-5.22.8.tgz +0 -0
  118. package/components/tryghost-mw-vhost-5.22.8.tgz +0 -0
  119. package/components/tryghost-oembed-service-5.22.8.tgz +0 -0
  120. package/components/tryghost-package-json-5.22.8.tgz +0 -0
  121. package/components/tryghost-referrers-5.22.8.tgz +0 -0
  122. package/components/tryghost-security-5.22.8.tgz +0 -0
  123. package/components/tryghost-session-service-5.22.8.tgz +0 -0
  124. package/components/tryghost-settings-path-manager-5.22.8.tgz +0 -0
  125. package/components/tryghost-staff-service-5.22.8.tgz +0 -0
  126. package/components/tryghost-stats-service-5.22.8.tgz +0 -0
  127. package/components/tryghost-update-check-service-5.22.8.tgz +0 -0
  128. package/components/tryghost-verification-trigger-5.22.8.tgz +0 -0
  129. package/components/tryghost-version-notifications-data-service-5.22.8.tgz +0 -0
@@ -0,0 +1,81 @@
1
+ (function () {
2
+ const mediaQuery = window.matchMedia('(max-width: 991px)');
3
+
4
+ const menu = document.querySelector('.gh-head-menu');
5
+ const nav = menu.querySelector('.nav');
6
+ if (!nav) return;
7
+
8
+ const logo = document.querySelector('.gh-head-logo');
9
+ const navHTML = nav.innerHTML;
10
+
11
+ if (mediaQuery.matches) {
12
+ const items = nav.querySelectorAll('li');
13
+ items.forEach(function (item, index) {
14
+ item.style.transitionDelay = 0.03 * (index + 1) + 's';
15
+ });
16
+ }
17
+
18
+ const makeDropdown = function () {
19
+ if (mediaQuery.matches) return;
20
+ const submenuItems = [];
21
+
22
+ while ((nav.offsetWidth + 64) > menu.offsetWidth) {
23
+ if (nav.lastElementChild) {
24
+ submenuItems.unshift(nav.lastElementChild);
25
+ nav.lastElementChild.remove();
26
+ } else {
27
+ return;
28
+ }
29
+ }
30
+
31
+ if (!submenuItems.length) {
32
+ document.body.classList.add('is-dropdown-loaded');
33
+ return;
34
+ }
35
+
36
+ const toggle = document.createElement('button');
37
+ toggle.setAttribute('class', 'nav-more-toggle');
38
+ toggle.setAttribute('aria-label', 'More');
39
+ toggle.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="currentColor"><path d="M21.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0zM13.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0zM5.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0z"></path></svg>';
40
+
41
+ const wrapper = document.createElement('div');
42
+ wrapper.setAttribute('class', 'gh-dropdown');
43
+
44
+ if (submenuItems.length >= 10) {
45
+ document.body.classList.add('is-dropdown-mega');
46
+ wrapper.style.gridTemplateRows = 'repeat(' + Math.ceil(submenuItems.length / 2) + ', 1fr)';
47
+ } else {
48
+ document.body.classList.remove('is-dropdown-mega');
49
+ }
50
+
51
+ submenuItems.forEach(function (child) {
52
+ wrapper.appendChild(child);
53
+ });
54
+
55
+ toggle.appendChild(wrapper);
56
+ nav.appendChild(toggle);
57
+
58
+ document.body.classList.add('is-dropdown-loaded');
59
+
60
+ toggle.addEventListener('click', function () {
61
+ document.body.classList.toggle('is-dropdown-open');
62
+ });
63
+
64
+ window.addEventListener('click', function (e) {
65
+ if (!toggle.contains(e.target) && document.body.classList.contains('is-dropdown-open')) {
66
+ document.body.classList.remove('is-dropdown-open');
67
+ }
68
+ });
69
+ }
70
+
71
+ imagesLoaded(logo, function () {
72
+ makeDropdown();
73
+ });
74
+
75
+ window.addEventListener('resize', function () {
76
+ setTimeout(function () {
77
+ nav.innerHTML = navHTML;
78
+ makeDropdown();
79
+ }, 1);
80
+ });
81
+ })();
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * imagesLoaded PACKAGED v4.1.4
3
+ * JavaScript is all like "You images are done yet or what?"
4
+ * MIT License
5
+ */
6
+
7
+ !function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(e,r),delete n[r]),r.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(e,t){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return t(e,i)}):"object"==typeof module&&module.exports?module.exports=t(e,require("ev-emitter")):e.imagesLoaded=t(e,e.EvEmitter)}("undefined"!=typeof window?window:this,function(e,t){function i(e,t){for(var i in t)e[i]=t[i];return e}function n(e){if(Array.isArray(e))return e;var t="object"==typeof e&&"number"==typeof e.length;return t?d.call(e):[e]}function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);var s=e;return"string"==typeof e&&(s=document.querySelectorAll(e)),s?(this.elements=n(s),this.options=i({},this.options),"function"==typeof t?r=t:i(this.options,t),r&&this.on("always",r),this.getImages(),h&&(this.jqDeferred=new h.Deferred),void setTimeout(this.check.bind(this))):void a.error("Bad element for imagesLoaded "+(s||e))}function r(e){this.img=e}function s(e,t){this.url=e,this.element=t,this.img=new Image}var h=e.jQuery,a=e.console,d=Array.prototype.slice;o.prototype=Object.create(t.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},o.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),this.options.background===!0&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&u[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=e.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var u={1:!0,9:!0,11:!0};return o.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},o.prototype.addImage=function(e){var t=new r(e);this.images.push(t)},o.prototype.addBackground=function(e,t){var i=new s(e,t);this.images.push(i)},o.prototype.check=function(){function e(e,i,n){setTimeout(function(){t.progress(e,i,n)})}var t=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(t){t.once("progress",e),t.check()}):void this.complete()},o.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&a&&a.log("progress: "+i,e,t)},o.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},r.prototype=Object.create(t.prototype),r.prototype.check=function(){var e=this.getIsImageComplete();return e?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},r.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},r.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},r.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},r.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},r.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},r.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype=Object.create(r.prototype),s.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var e=this.getIsImageComplete();e&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},s.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},o.makeJQueryPlugin=function(t){t=t||e.jQuery,t&&(h=t,h.fn.imagesLoaded=function(e,t){var i=new o(this,e,t);return i.jqDeferred.promise(h(this))})},o.makeJQueryPlugin(),o});
@@ -18,51 +18,51 @@
18
18
  {{ghost_head}}
19
19
 
20
20
  </head>
21
- <body class="{{body_class}}{{#match @custom.title_font "=" "Elegant serif"}} has-serif-title{{/match}}{{#match @custom.body_font "=" "Modern sans-serif"}} has-sans-body{{/match}}{{#if @custom.show_publication_cover}} has-cover{{/if}}{{#is "home"}}{{#unless @custom.show_logo_in_navigation}} no-logo{{/unless}}{{/is}}">
21
+ <body class="{{body_class}} is-head-{{#match @custom.navigation_layout "Logo on cover"}}left-logo{{else match @custom.navigation_layout "Logo in the middle"}}middle-logo{{else}}stacked{{/match}}{{#match @custom.title_font "=" "Elegant serif"}} has-serif-title{{/match}}{{#match @custom.body_font "=" "Modern sans-serif"}} has-sans-body{{/match}}{{#if @custom.show_publication_cover}} has-cover{{/if}}">
22
22
  <div class="viewport">
23
23
 
24
24
  <header id="gh-head" class="gh-head outer">
25
- <nav class="gh-head-inner inner">
26
-
25
+ <div class="gh-head-inner inner">
27
26
  <div class="gh-head-brand">
28
- <a class="gh-head-logo{{#unless @site.logo}} no-image{{/unless}}" href="{{@site.url}}">
27
+ <a class="gh-head-logo" href="{{@site.url}}">
29
28
  {{#if @site.logo}}
30
- <img src="{{@site.logo}}" alt="{{@site.title}}" />
29
+ <img src="{{@site.logo}}" alt="{{@site.title}}">
31
30
  {{else}}
32
31
  {{@site.title}}
33
32
  {{/if}}
34
33
  </a>
35
- <div class="gh-head-brand-wrapper">
36
- <button class="gh-search" data-ghost-search>{{> "icons/search"}}</button>
37
- <a class="gh-burger" role="button">
38
- <div class="gh-burger-box">
39
- <div class="gh-burger-inner"></div>
40
- </div>
41
- </a>
42
- </div>
34
+ <button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
35
+ <button class="gh-burger"></button>
43
36
  </div>
44
- <div class="gh-head-menu">
37
+
38
+ <nav class="gh-head-menu">
45
39
  {{navigation}}
46
- </div>
40
+ {{#unless @site.members_enabled}}
41
+ {{#match @custom.header_style "Stacked"}}
42
+ <button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
43
+ {{/match}}
44
+ {{/unless}}
45
+ </nav>
46
+
47
47
  <div class="gh-head-actions">
48
- <button class="gh-search" data-ghost-search>{{> "icons/search"}}</button>
49
- <div class="gh-social">
50
- {{#if @site.facebook}}
51
- <a class="gh-social-link gh-social-facebook" href="{{facebook_url @site.facebook}}" title="Facebook" target="_blank" rel="me noopener">{{> "icons/facebook"}}</a>
52
- {{/if}}
53
- {{#if @site.twitter}}
54
- <a class="gh-social-link gh-social-twitter" href="{{twitter_url @site.twitter}}" title="Twitter" target="_blank" rel="me noopener">{{> "icons/twitter"}}</a>
55
- {{/if}}
56
- </div>
57
- {{#if @site.members_enabled}}
48
+ {{#unless @site.members_enabled}}
49
+ {{^match @custom.header_style "Stacked"}}
50
+ <button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
51
+ {{/match}}
52
+ {{else}}
53
+ <button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
58
54
  {{#unless @member}}
59
- <a class="gh-head-button" href="#/portal/signup" data-portal="signup">Subscribe</a>
55
+ {{#unless @site.members_invite_only}}
56
+ <a class="gh-head-button" href="#/portal/signup" data-portal="signup">Subscribe</a>
57
+ {{else}}
58
+ <a class="gh-head-button" href="#/portal/signin" data-portal="signin">Login</a>
59
+ {{/unless}}
60
60
  {{else}}
61
61
  <a class="gh-head-button" href="#/portal/account" data-portal="account">Account</a>
62
62
  {{/unless}}
63
- {{/if}}
63
+ {{/unless}}
64
64
  </div>
65
- </nav>
65
+ </div>
66
66
  </header>
67
67
 
68
68
  <div class="site-content">
@@ -90,8 +90,9 @@ function zipper(done) {
90
90
  }
91
91
 
92
92
  const cssWatcher = () => watch('assets/css/**', css);
93
+ const jsWatcher = () => watch('assets/js/**', js);
93
94
  const hbsWatcher = () => watch(['*.hbs', 'partials/**/*.hbs'], hbs);
94
- const watcher = parallel(cssWatcher, hbsWatcher);
95
+ const watcher = parallel(cssWatcher, jsWatcher, hbsWatcher);
95
96
  const build = series(css, js);
96
97
 
97
98
  exports.build = build;
@@ -22,13 +22,13 @@ into the {body} of the default.hbs template --}}
22
22
 
23
23
  {{#match @custom.header_style "!=" "Hidden"}}
24
24
  <div class="site-header-inner inner">
25
- {{#unless @custom.show_logo_in_navigation}}
25
+ {{#match @custom.navigation_layout "Logo on cover"}}
26
26
  {{#if @site.logo}}
27
27
  <img class="site-logo" src="{{@site.logo}}" alt="{{@site.title}}">
28
28
  {{else}}
29
29
  <h1 class="site-title">{{@site.title}}</h1>
30
30
  {{/if}}
31
- {{/unless}}
31
+ {{/match}}
32
32
  {{#if @site.description}}
33
33
  <p class="site-description">{{@site.description}}</p>
34
34
  {{/if}}
@@ -2,7 +2,7 @@
2
2
  "name": "casper",
3
3
  "description": "A clean, minimal default theme for the Ghost publishing platform",
4
4
  "demo": "https://demo.ghost.io",
5
- "version": "5.3.2",
5
+ "version": "5.4.0",
6
6
  "engines": {
7
7
  "ghost": ">=5.0.0"
8
8
  },
@@ -89,6 +89,15 @@
89
89
  },
90
90
  "card_assets": true,
91
91
  "custom": {
92
+ "navigation_layout": {
93
+ "type": "select",
94
+ "options": [
95
+ "Logo on cover",
96
+ "Logo in the middle",
97
+ "Stacked"
98
+ ],
99
+ "default": "Logo on cover"
100
+ },
92
101
  "title_font": {
93
102
  "type": "select",
94
103
  "options": [
@@ -120,11 +129,6 @@
120
129
  "default": "Center aligned",
121
130
  "group": "homepage"
122
131
  },
123
- "show_logo_in_navigation": {
124
- "type": "boolean",
125
- "default": false,
126
- "group": "homepage"
127
- },
128
132
  "feed_layout": {
129
133
  "type": "select",
130
134
  "options": [
@@ -9,8 +9,8 @@ return Array.isArray(e.tiers)&&(s=e.tiers.map((e=>e.name)).join(",")),{id:e.id,e
9
9
  return s.unparse(t,{columns:r})}},96616:(e,r,t)=>{var n={"./af":21516,"./af.js":21516,"./ar":14874,"./ar-dz":83760,"./ar-dz.js":83760,"./ar-kw":73410,"./ar-kw.js":73410,"./ar-ly":27521,"./ar-ly.js":27521,"./ar-ma":54215,"./ar-ma.js":54215,"./ar-sa":67839,"./ar-sa.js":67839,"./ar-tn":15676,"./ar-tn.js":15676,"./ar.js":14874,"./az":90189,"./az.js":90189,"./be":97510,"./be.js":97510,"./bg":49715,"./bg.js":49715,"./bm":53263,"./bm.js":53263,"./bn":86751,"./bn.js":86751,"./bo":22257,"./bo.js":22257,"./br":66699,"./br.js":66699,"./bs":46338,"./bs.js":46338,"./ca":75498,"./ca.js":75498,"./cs":36471,"./cs.js":36471,"./cv":12500,"./cv.js":12500,"./cy":621,"./cy.js":621,"./da":82493,"./da.js":82493,"./de":56272,"./de-at":70500,"./de-at.js":70500,"./de-ch":71393,"./de-ch.js":71393,"./de.js":56272,"./dv":90967,"./dv.js":90967,"./el":85716,"./el.js":85716,"./en-SG":72902,"./en-SG.js":72902,"./en-au":32645,"./en-au.js":32645,"./en-ca":10280,"./en-ca.js":10280,"./en-gb":31961,"./en-gb.js":31961,"./en-ie":19065,"./en-ie.js":19065,"./en-il":5628,"./en-il.js":5628,"./en-nz":81286,"./en-nz.js":81286,"./eo":37600,"./eo.js":37600,"./es":62109,"./es-do":94611,"./es-do.js":94611,"./es-us":86896,"./es-us.js":86896,"./es.js":62109,"./et":2962,"./et.js":2962,"./eu":30384,"./eu.js":30384,"./fa":35676,"./fa.js":35676,"./fi":18080,"./fi.js":18080,"./fo":99493,"./fo.js":99493,"./fr":59714,"./fr-ca":29035,"./fr-ca.js":29035,"./fr-ch":47594,"./fr-ch.js":47594,"./fr.js":59714,"./fy":10798,"./fy.js":10798,"./ga":62396,"./ga.js":62396,"./gd":95213,"./gd.js":95213,"./gl":85410,"./gl.js":85410,"./gom-latn":88448,"./gom-latn.js":88448,"./gu":97920,"./gu.js":97920,"./he":21797,"./he.js":21797,"./hi":35546,"./hi.js":35546,"./hr":17034,"./hr.js":17034,"./hu":80081,"./hu.js":80081,"./hy-am":2143,"./hy-am.js":2143,"./id":84909,"./id.js":84909,"./is":8002,"./is.js":8002,"./it":59658,"./it-ch":19126,"./it-ch.js":19126,"./it.js":59658,"./ja":47e3,"./ja.js":47e3,"./jv":97205,"./jv.js":97205,"./ka":31706,"./ka.js":31706,"./kk":34894,"./kk.js":34894,"./km":34679,"./km.js":34679,"./kn":89203,"./kn.js":89203,"./ko":87538,"./ko.js":87538,"./ku":62808,"./ku.js":62808,"./ky":95378,"./ky.js":95378,"./lb":12396,"./lb.js":12396,"./lo":90732,"./lo.js":90732,"./lt":59313,"./lt.js":59313,"./lv":8909,"./lv.js":8909,"./me":75539,"./me.js":75539,"./mi":7384,"./mi.js":7384,"./mk":75114,"./mk.js":75114,"./ml":12586,"./ml.js":12586,"./mn":66423,"./mn.js":66423,"./mr":27128,"./mr.js":27128,"./ms":45547,"./ms-my":38106,"./ms-my.js":38106,"./ms.js":45547,"./mt":20114,"./mt.js":20114,"./my":11573,"./my.js":11573,"./nb":49022,"./nb.js":49022,"./ne":88212,"./ne.js":88212,"./nl":47862,"./nl-be":19116,"./nl-be.js":19116,"./nl.js":47862,"./nn":34010,"./nn.js":34010,"./pa-in":80815,"./pa-in.js":80815,"./pl":18099,"./pl.js":18099,"./pt":14527,"./pt-br":81180,"./pt-br.js":81180,"./pt.js":14527,"./ro":74683,"./ro.js":74683,"./ru":41760,"./ru.js":41760,"./sd":79717,"./sd.js":79717,"./se":84167,"./se.js":84167,"./si":72568,"./si.js":72568,"./sk":13702,"./sk.js":13702,"./sl":49968,"./sl.js":49968,"./sq":77303,"./sq.js":77303,"./sr":4993,"./sr-cyrl":98961,"./sr-cyrl.js":98961,"./sr.js":4993,"./ss":6870,"./ss.js":6870,"./sv":92034,"./sv.js":92034,"./sw":51481,"./sw.js":51481,"./ta":208,"./ta.js":208,"./te":36006,"./te.js":36006,"./tet":68816,"./tet.js":68816,"./tg":77378,"./tg.js":77378,"./th":69125,"./th.js":69125,"./tl-ph":43406,"./tl-ph.js":43406,"./tlh":53361,"./tlh.js":53361,"./tr":84119,"./tr.js":84119,"./tzl":47778,"./tzl.js":47778,"./tzm":12617,"./tzm-latn":97187,"./tzm-latn.js":97187,"./tzm.js":12617,"./ug-cn":10438,"./ug-cn.js":10438,"./uk":38128,"./uk.js":38128,"./ur":15367,"./ur.js":15367,"./uz":51582,"./uz-latn":70009,"./uz-latn.js":70009,"./uz.js":51582,"./vi":49036,"./vi.js":49036,"./x-pseudo":11950,"./x-pseudo.js":11950,"./yo":48249,"./yo.js":48249,"./zh-cn":39512,"./zh-cn.js":39512,"./zh-hk":74792,"./zh-hk.js":74792,"./zh-tw":23931,"./zh-tw.js":23931}
10
10
  function s(e){var r=o(e)
11
11
  return t(r)}function o(e){if(!t.o(n,e)){var r=new Error("Cannot find module '"+e+"'")
12
- throw r.code="MODULE_NOT_FOUND",r}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=o,e.exports=s,s.id=96616},3274:(e,r,t)=>{var n,s
13
- e.exports=(n=_eai_d,s=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?s("_eai_dyn_"+e):s("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return s("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},n("@joeattardi/emoji-button",[],(function(){return t(28936)})),n("@sentry/browser",[],(function(){return t(85568)})),n("@sentry/utils",[],(function(){return t(59517)})),n("@tryghost/color-utils",[],(function(){return t(82485)})),n("@tryghost/helpers",[],(function(){return t(74752)})),n("@tryghost/kg-clean-basic-html",[],(function(){return t(89096)})),n("@tryghost/kg-parser-plugins",[],(function(){return t(3199)})),n("@tryghost/kg-parser-plugins/lib/cards/softReturn",[],(function(){return t(74557)})),n("@tryghost/limit-service",[],(function(){return t(12336)})),n("@tryghost/members-csv/lib/unparse",[],(function(){return t(91883)})),n("@tryghost/nql-lang",[],(function(){return t(75420)})),n("@tryghost/string",[],(function(){return t(57348)})),n("@tryghost/timezone-data",[],(function(){return t(28961)})),n("element-resize-detector",[],(function(){return t(87381)})),n("ember-css-transitions/modifiers/css-transition.js",[],(function(){return t(56112)})),n("ember-keyboard",[],(function(){return t(86771)})),n("ember-keyboard/helpers/if-key.js",[],(function(){return t(43481)})),n("ember-keyboard/helpers/on-key.js",[],(function(){return t(66415)})),n("ember-keyboard/modifiers/on-key.js",[],(function(){return t(4146)})),n("ember-keyboard/services/keyboard.js",[],(function(){return t(35466)})),n("ember-moment/helpers/-base.js",[],(function(){return t(76465)})),n("ember-moment/helpers/is-after.js",[],(function(){return t(876)})),n("ember-moment/helpers/is-before.js",[],(function(){return t(13971)})),n("ember-moment/helpers/is-between.js",[],(function(){return t(2063)})),n("ember-moment/helpers/is-same-or-after.js",[],(function(){return t(12915)})),n("ember-moment/helpers/is-same-or-before.js",[],(function(){return t(46102)})),n("ember-moment/helpers/is-same.js",[],(function(){return t(71465)})),n("ember-moment/helpers/moment-add.js",[],(function(){return t(64462)})),n("ember-moment/helpers/moment-calendar.js",[],(function(){return t(69021)})),n("ember-moment/helpers/moment-diff.js",[],(function(){return t(95198)})),n("ember-moment/helpers/moment-duration.js",[],(function(){return t(17216)})),n("ember-moment/helpers/moment-format.js",[],(function(){return t(99152)})),n("ember-moment/helpers/moment-from-now.js",[],(function(){return t(16396)})),n("ember-moment/helpers/moment-from.js",[],(function(){return t(48478)})),n("ember-moment/helpers/moment-subtract.js",[],(function(){return t(4647)})),n("ember-moment/helpers/moment-to-date.js",[],(function(){return t(18351)})),n("ember-moment/helpers/moment-to-now.js",[],(function(){return t(94612)})),n("ember-moment/helpers/moment-to.js",[],(function(){return t(91857)})),n("ember-moment/helpers/moment.js",[],(function(){return t(26852)})),n("ember-moment/helpers/now.js",[],(function(){return t(67842)})),n("ember-moment/helpers/unix.js",[],(function(){return t(29700)})),n("ember-moment/helpers/utc.js",[],(function(){return t(71755)})),n("ember-moment/services/moment.js",[],(function(){return t(27475)})),n("fast-deep-equal",[],(function(){return t(64710)})),n("focus-trap",[],(function(){return t(10755)})),n("intersection-observer-admin",[],(function(){return t(77577)})),n("markdown-it",[],(function(){return t(77647)})),n("markdown-it-footnote",[],(function(){return t(41297)})),n("markdown-it-lazy-headers",[],(function(){return t(72553)})),n("markdown-it-mark",[],(function(){return t(76519)})),n("markdown-it-sub",[],(function(){return t(8830)})),n("markdown-it-sup",[],(function(){return t(55977)})),n("moment-timezone",[],(function(){return t(19127)})),n("papaparse",[],(function(){return t(99112)})),n("raf-pool",[],(function(){return t(42586)})),n("react",[],(function(){return t(36058)})),n("react-dom",[],(function(){return t(18971)})),n("react-dom/client",[],(function(){return t(79793)})),n("tooltip.js",[],(function(){return t(15028)})),n("validator",[],(function(){return t(2228)})),void n("_eai_dyn_@sentry/tracing",[],(function(){return t.e(174).then(t.bind(t,43174))})))},80828:function(e,r){window._eai_r=require,window._eai_d=define},25831:e=>{"use strict"
12
+ throw r.code="MODULE_NOT_FOUND",r}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=o,e.exports=s,s.id=96616},19546:(e,r,t)=>{var n,s
13
+ e.exports=(n=_eai_d,s=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?s("_eai_dyn_"+e):s("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return s("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},n("@joeattardi/emoji-button",[],(function(){return t(28936)})),n("@sentry/browser",[],(function(){return t(85568)})),n("@sentry/utils",[],(function(){return t(59517)})),n("@tryghost/color-utils",[],(function(){return t(82485)})),n("@tryghost/helpers",[],(function(){return t(74752)})),n("@tryghost/kg-clean-basic-html",[],(function(){return t(89096)})),n("@tryghost/kg-parser-plugins",[],(function(){return t(3199)})),n("@tryghost/kg-parser-plugins/lib/cards/softReturn",[],(function(){return t(74557)})),n("@tryghost/limit-service",[],(function(){return t(12336)})),n("@tryghost/members-csv/lib/unparse",[],(function(){return t(91883)})),n("@tryghost/nql-lang",[],(function(){return t(75420)})),n("@tryghost/string",[],(function(){return t(57348)})),n("@tryghost/timezone-data",[],(function(){return t(28961)})),n("element-resize-detector",[],(function(){return t(87381)})),n("ember-css-transitions/modifiers/css-transition.js",[],(function(){return t(56112)})),n("ember-keyboard",[],(function(){return t(86771)})),n("ember-keyboard/helpers/if-key.js",[],(function(){return t(43481)})),n("ember-keyboard/helpers/on-key.js",[],(function(){return t(66415)})),n("ember-keyboard/modifiers/on-key.js",[],(function(){return t(4146)})),n("ember-keyboard/services/keyboard.js",[],(function(){return t(35466)})),n("ember-moment/helpers/-base.js",[],(function(){return t(76465)})),n("ember-moment/helpers/is-after.js",[],(function(){return t(876)})),n("ember-moment/helpers/is-before.js",[],(function(){return t(13971)})),n("ember-moment/helpers/is-between.js",[],(function(){return t(2063)})),n("ember-moment/helpers/is-same-or-after.js",[],(function(){return t(12915)})),n("ember-moment/helpers/is-same-or-before.js",[],(function(){return t(46102)})),n("ember-moment/helpers/is-same.js",[],(function(){return t(71465)})),n("ember-moment/helpers/moment-add.js",[],(function(){return t(64462)})),n("ember-moment/helpers/moment-calendar.js",[],(function(){return t(69021)})),n("ember-moment/helpers/moment-diff.js",[],(function(){return t(95198)})),n("ember-moment/helpers/moment-duration.js",[],(function(){return t(17216)})),n("ember-moment/helpers/moment-format.js",[],(function(){return t(99152)})),n("ember-moment/helpers/moment-from-now.js",[],(function(){return t(16396)})),n("ember-moment/helpers/moment-from.js",[],(function(){return t(48478)})),n("ember-moment/helpers/moment-subtract.js",[],(function(){return t(4647)})),n("ember-moment/helpers/moment-to-date.js",[],(function(){return t(18351)})),n("ember-moment/helpers/moment-to-now.js",[],(function(){return t(94612)})),n("ember-moment/helpers/moment-to.js",[],(function(){return t(91857)})),n("ember-moment/helpers/moment.js",[],(function(){return t(26852)})),n("ember-moment/helpers/now.js",[],(function(){return t(67842)})),n("ember-moment/helpers/unix.js",[],(function(){return t(29700)})),n("ember-moment/helpers/utc.js",[],(function(){return t(71755)})),n("ember-moment/services/moment.js",[],(function(){return t(27475)})),n("fast-deep-equal",[],(function(){return t(64710)})),n("focus-trap",[],(function(){return t(10755)})),n("intersection-observer-admin",[],(function(){return t(77577)})),n("markdown-it",[],(function(){return t(77647)})),n("markdown-it-footnote",[],(function(){return t(41297)})),n("markdown-it-lazy-headers",[],(function(){return t(72553)})),n("markdown-it-mark",[],(function(){return t(76519)})),n("markdown-it-sub",[],(function(){return t(8830)})),n("markdown-it-sup",[],(function(){return t(55977)})),n("moment-timezone",[],(function(){return t(19127)})),n("papaparse",[],(function(){return t(99112)})),n("raf-pool",[],(function(){return t(42586)})),n("react",[],(function(){return t(36058)})),n("react-dom",[],(function(){return t(18971)})),n("react-dom/client",[],(function(){return t(79793)})),n("tooltip.js",[],(function(){return t(15028)})),n("validator",[],(function(){return t(2228)})),void n("_eai_dyn_@sentry/tracing",[],(function(){return t.e(174).then(t.bind(t,43174))})))},82645:function(e,r){window._eai_r=require,window._eai_d=define},25831:e=>{"use strict"
14
14
  e.exports=require("ember-modifier")},11975:()=>{}},s={}
15
15
  function o(e){var r=s[e]
16
16
  if(void 0!==r)return r.exports
@@ -42,8 +42,8 @@ var r=(r,t)=>{var n,s,[i,u,a]=t,m=0
42
42
  if(i.some((r=>0!==e[r]))){for(n in u)o.o(u,n)&&(o.m[n]=u[n])
43
43
  if(a)var l=a(o)}for(r&&r(t);m<i.length;m++)s=i[m],o.o(e,s)&&e[s]&&e[s][0](),e[s]=0
44
44
  return o.O(l)},t=globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]
45
- t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),o.O(void 0,[613],(()=>o(o.s=80828)))
46
- var i=o.O(void 0,[613],(()=>o(o.s=3274)))
45
+ t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),o.O(void 0,[613],(()=>o(o.s=82645)))
46
+ var i=o.O(void 0,[613],(()=>o(o.s=19546)))
47
47
  i=o.O(i),__ember_auto_import__=i})()
48
48
 
49
- //# sourceMappingURL=chunk.143.106bb339ada01587eb46.map
49
+ //# sourceMappingURL=chunk.143.efc32dbcc893663c95cb.map
@@ -1,11 +1,11 @@
1
- var __ember_auto_import__;(()=>{var r={80828:function(r,e){window._eai_r=require,window._eai_d=define},80619:r=>{r.exports=function(){_eai_d
1
+ var __ember_auto_import__;(()=>{var r={82645:function(r,e){window._eai_r=require,window._eai_d=define},46124:r=>{r.exports=function(){_eai_d
2
2
  var r=_eai_r
3
3
  window.emberAutoImportDynamic=function(e){return 1===arguments.length?r("_eai_dyn_"+e):r("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return r("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))}}()}},e={}
4
4
  function t(_){var o=e[_]
5
5
  if(void 0!==o)return o.exports
6
6
  var i=e[_]={exports:{}}
7
- return r[_].call(i.exports,i,i.exports,t),i.exports}t(80828)
8
- var _=t(80619)
7
+ return r[_].call(i.exports,i,i.exports,t),i.exports}t(82645)
8
+ var _=t(46124)
9
9
  __ember_auto_import__=_})()
10
10
 
11
- //# sourceMappingURL=chunk.178.97b7693b2a2e62c60a7b.map
11
+ //# sourceMappingURL=chunk.178.95a503a229a8fd49e91e.map