ghost 5.8.3 → 5.9.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.
- package/components/tryghost-adapter-manager-0.0.0.tgz +0 -0
- package/components/tryghost-api-framework-0.0.0.tgz +0 -0
- package/components/tryghost-bootstrap-socket-0.0.0.tgz +0 -0
- package/components/tryghost-custom-theme-settings-service-0.0.0.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-0.0.0.tgz +0 -0
- package/components/tryghost-email-analytics-service-0.0.0.tgz +0 -0
- package/components/tryghost-job-manager-0.0.0.tgz +0 -0
- package/components/tryghost-mailgun-client-0.0.0.tgz +0 -0
- package/components/tryghost-member-analytics-service-0.0.0.tgz +0 -0
- package/components/tryghost-members-api-0.0.0.tgz +0 -0
- package/components/tryghost-members-importer-0.0.0.tgz +0 -0
- package/components/tryghost-members-offers-0.0.0.tgz +0 -0
- package/components/tryghost-members-payments-0.0.0.tgz +0 -0
- package/components/tryghost-members-ssr-0.0.0.tgz +0 -0
- package/components/tryghost-members-stripe-service-0.0.0.tgz +0 -0
- package/components/tryghost-minifier-0.0.0.tgz +0 -0
- package/components/tryghost-mw-cache-control-0.0.0.tgz +0 -0
- package/components/tryghost-mw-error-handler-0.0.0.tgz +0 -0
- package/components/tryghost-oembed-service-0.0.0.tgz +0 -0
- package/components/tryghost-package-json-0.0.0.tgz +0 -0
- package/components/tryghost-session-service-0.0.0.tgz +0 -0
- package/components/tryghost-settings-path-manager-0.0.0.tgz +0 -0
- package/components/tryghost-update-check-service-0.0.0.tgz +0 -0
- package/content/themes/casper/README.md +1 -1
- package/content/themes/casper/assets/built/portal.min.js +3 -0
- package/content/themes/casper/assets/built/screen.css +1 -1
- package/content/themes/casper/assets/built/screen.css.map +1 -1
- package/content/themes/casper/assets/css/screen.css +119 -37
- package/content/themes/casper/package.json +3 -3
- package/content/themes/casper/partials/post-card.hbs +3 -1
- package/content/themes/casper/post.hbs +7 -7
- package/content/themes/casper/yarn.lock +69 -68
- package/core/boot.js +2 -0
- package/core/built/admin/assets/{chunk.143.cf66fd97f99af03c697f.js → chunk.143.4e4590d80452422483d8.js} +5 -5
- package/core/built/admin/assets/{chunk.178.e95388dfcc564cdb1ecc.js → chunk.178.16d88956c09eb76205e0.js} +4 -4
- package/core/built/admin/assets/{chunk.351.cbc224ca65c14ef5322d.js → chunk.351.73f27952f867334a8228.js} +3 -3
- package/core/built/admin/assets/{chunk.351.cbc224ca65c14ef5322d.js.LICENSE.txt → chunk.351.73f27952f867334a8228.js.LICENSE.txt} +0 -0
- package/core/built/admin/assets/{ghost-b469423d0fbe5e40af17b560f7e3cead.css → ghost-0319628ec5dcb83e6968e99eaa629a75.css} +1 -1
- package/core/built/admin/assets/{ghost-dark-bcb6f4517a2dfe23a0a280632bfca00c.css → ghost-dark-eada0a988277e84b4c8ead995f912044.css} +1 -1
- package/core/built/admin/assets/{ghost-f1d63ad9698b7d38261df6384513c952.js → ghost-f144e03b578116a5d0ed41bceaf2bab8.js} +90 -88
- package/core/built/admin/index.html +5 -5
- package/core/frontend/helpers/comment_count.js +1 -15
- package/core/frontend/helpers/comments.js +4 -16
- package/core/frontend/helpers/ghost_head.js +1 -1
- package/core/frontend/services/routing/controllers/unsubscribe.js +3 -0
- package/core/server/api/endpoints/comments-members.js +23 -1
- package/core/server/api/endpoints/index.js +52 -52
- package/core/server/api/endpoints/oembed.js +1 -1
- package/core/server/api/endpoints/utils/serializers/input/comments.js +18 -0
- package/core/server/api/endpoints/utils/serializers/input/db.js +1 -1
- package/core/server/api/endpoints/utils/serializers/input/index.js +4 -0
- package/core/server/api/endpoints/utils/serializers/input/integrations.js +2 -2
- package/core/server/api/{shared → endpoints/utils}/serializers/input/utils/settings-filter-type-group-mapper.js +0 -0
- package/core/server/api/{shared → endpoints/utils}/serializers/input/utils/settings-key-group-mapper.js +0 -0
- package/core/server/api/{shared → endpoints/utils}/serializers/input/utils/settings-key-type-mapper.js +0 -0
- package/core/server/api/endpoints/utils/serializers/output/mappers/comments.js +12 -12
- package/core/server/api/endpoints/utils/serializers/output/tiers.js +1 -1
- package/core/server/api/index.js +0 -2
- package/core/server/data/importer/importers/data/settings.js +2 -2
- package/core/server/data/migrations/versions/5.9/2022-08-09-08-32-added-new-integration-type.js +24 -0
- package/core/server/data/schema/clients/mysql.js +0 -15
- package/core/server/data/schema/commands.js +0 -9
- package/core/server/data/schema/fixtures/fixtures.json +1 -1
- package/core/server/data/schema/schema.js +3 -3
- package/core/server/models/base/plugins/user-type.js +1 -9
- package/core/server/models/comment.js +96 -15
- package/core/server/models/label.js +14 -0
- package/core/server/models/newsletter.js +21 -0
- package/core/server/models/tag.js +20 -0
- package/core/server/models/user.js +20 -0
- package/core/server/services/auth/api-key/admin.js +1 -5
- package/core/server/services/auth/api-key/content.js +1 -5
- package/core/server/services/bulk-email/bulk-email-processor.js +19 -12
- package/core/server/services/bulk-email/index.js +1 -17
- package/core/server/services/comments/controller.js +9 -0
- package/core/server/services/comments/email-templates/new-comment-reply.hbs +3 -3
- package/core/server/services/comments/email-templates/new-comment-reply.txt.js +1 -1
- package/core/server/services/comments/email-templates/new-comment.hbs +2 -2
- package/core/server/services/comments/email-templates/report.hbs +2 -2
- package/core/server/services/comments/emails.js +2 -1
- package/core/server/services/comments/service.js +16 -3
- package/core/server/services/mega/post-email-serializer.js +11 -6
- package/core/server/services/permissions/can-this.js +154 -161
- package/core/server/services/permissions/parse-context.js +1 -8
- package/core/server/services/webhooks/serialize.js +3 -3
- package/core/server/web/api/endpoints/admin/routes.js +1 -1
- package/core/server/web/api/endpoints/content/routes.js +1 -1
- package/core/server/web/comments/routes.js +2 -1
- package/core/server/web/shared/middleware/index.js +1 -1
- package/core/shared/config/defaults.json +2 -2
- package/core/shared/labs.js +0 -1
- package/package.json +34 -37
- package/yarn.lock +272 -245
- package/core/server/api/README.md +0 -130
- package/core/server/api/shared/frame.js +0 -95
- package/core/server/api/shared/headers.js +0 -152
- package/core/server/api/shared/http.js +0 -127
- package/core/server/api/shared/index.js +0 -25
- package/core/server/api/shared/pipeline.js +0 -259
- package/core/server/api/shared/serializers/handle.js +0 -140
- package/core/server/api/shared/serializers/index.js +0 -13
- package/core/server/api/shared/serializers/input/all.js +0 -41
- package/core/server/api/shared/serializers/input/index.js +0 -5
- package/core/server/api/shared/serializers/output/index.js +0 -1
- package/core/server/api/shared/utils/index.js +0 -5
- package/core/server/api/shared/utils/options.js +0 -23
- package/core/server/api/shared/validators/handle.js +0 -68
- package/core/server/api/shared/validators/index.js +0 -9
- package/core/server/api/shared/validators/input/all.js +0 -213
- package/core/server/api/shared/validators/input/index.js +0 -5
- package/core/server/services/bulk-email/mailgun.js +0 -122
- package/core/server/services/oembed.js +0 -346
- package/core/server/web/shared/middleware/cache-control.js +0 -43
|
@@ -15,6 +15,7 @@ production stylesheet in assets/built/screen.css
|
|
|
15
15
|
7.2. Members Subscribe Form
|
|
16
16
|
7.4. Related Posts
|
|
17
17
|
7.5. Koenig Styles
|
|
18
|
+
7.6 Comments
|
|
18
19
|
8. Author Template
|
|
19
20
|
9. Error Template
|
|
20
21
|
11. Site Footer
|
|
@@ -416,6 +417,35 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
|
|
|
416
417
|
background: #fff;
|
|
417
418
|
}
|
|
418
419
|
|
|
420
|
+
/* Search
|
|
421
|
+
/* ---------------------------------------------------------- */
|
|
422
|
+
|
|
423
|
+
.gh-search {
|
|
424
|
+
display: inline-flex;
|
|
425
|
+
align-items: center;
|
|
426
|
+
justify-content: center;
|
|
427
|
+
width: 32px;
|
|
428
|
+
height: 32px;
|
|
429
|
+
padding: 0;
|
|
430
|
+
cursor: pointer;
|
|
431
|
+
background-color: transparent;
|
|
432
|
+
border: 0;
|
|
433
|
+
outline: none;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
.gh-search:hover {
|
|
437
|
+
opacity: 0.9;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
@media (max-width: 991px) {
|
|
441
|
+
.gh-search {
|
|
442
|
+
position: fixed;
|
|
443
|
+
top: 16px;
|
|
444
|
+
left: 16px;
|
|
445
|
+
z-index: 10;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
|
|
419
449
|
|
|
420
450
|
/* Search
|
|
421
451
|
/* ---------------------------------------------------------- */
|
|
@@ -830,12 +860,27 @@ body:not(.gh-head-open) .gh-burger:hover .gh-burger-inner::after {
|
|
|
830
860
|
.post-card-meta {
|
|
831
861
|
display: flex;
|
|
832
862
|
align-items: center;
|
|
863
|
+
gap: 6px;
|
|
833
864
|
margin-top: 12px;
|
|
834
865
|
padding: 0;
|
|
835
866
|
font-size: 1.3rem;
|
|
836
867
|
color: var(--color-secondary-text);
|
|
837
868
|
}
|
|
838
869
|
|
|
870
|
+
.post-card-meta > * {
|
|
871
|
+
display: flex;
|
|
872
|
+
align-items: center;
|
|
873
|
+
gap: 6px;
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
.post-card-meta > * + *:not(script)::before {
|
|
877
|
+
width: 2px;
|
|
878
|
+
height: 2px;
|
|
879
|
+
content: "";
|
|
880
|
+
background-color: var(--color-secondary-text);
|
|
881
|
+
border-radius: 50%;
|
|
882
|
+
}
|
|
883
|
+
|
|
839
884
|
.post-card-meta .sep {
|
|
840
885
|
margin: 0 4px;
|
|
841
886
|
}
|
|
@@ -1595,6 +1640,43 @@ iframe.instagram-media + script + :not([id]) {
|
|
|
1595
1640
|
}
|
|
1596
1641
|
}
|
|
1597
1642
|
|
|
1643
|
+
/* 7.6. Comments
|
|
1644
|
+
/* ---------------------------------------------------------- */
|
|
1645
|
+
.comments {
|
|
1646
|
+
display: flex;
|
|
1647
|
+
flex-direction: column;
|
|
1648
|
+
align-items: center;
|
|
1649
|
+
margin: 60px 0 44px;
|
|
1650
|
+
}
|
|
1651
|
+
|
|
1652
|
+
|
|
1653
|
+
.comments-head {
|
|
1654
|
+
display: flex;
|
|
1655
|
+
align-items: baseline;
|
|
1656
|
+
justify-content: space-between;
|
|
1657
|
+
margin-bottom: 32px;
|
|
1658
|
+
width: 100%;
|
|
1659
|
+
max-width: 720px;
|
|
1660
|
+
}
|
|
1661
|
+
|
|
1662
|
+
.comments h2 {
|
|
1663
|
+
width: 100%;
|
|
1664
|
+
max-width: 720px;
|
|
1665
|
+
font-weight: 800;
|
|
1666
|
+
font-size: 3.4rem;
|
|
1667
|
+
}
|
|
1668
|
+
|
|
1669
|
+
.comments .comment-count {
|
|
1670
|
+
color: var(--color-midgrey);
|
|
1671
|
+
font-weight: 600;
|
|
1672
|
+
white-space: nowrap;
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
.comments #ghost-comments-root {
|
|
1676
|
+
width: 100%;
|
|
1677
|
+
max-width: 720px;
|
|
1678
|
+
}
|
|
1679
|
+
|
|
1598
1680
|
|
|
1599
1681
|
/* 8. Author Template
|
|
1600
1682
|
/* ---------------------------------------------------------- */
|
|
@@ -2004,48 +2086,48 @@ html.dark-mode .footer-cta-title {
|
|
|
2004
2086
|
color: rgba(255, 255, 255, 0.75);
|
|
2005
2087
|
background: var(--color-darkmode);
|
|
2006
2088
|
}
|
|
2007
|
-
|
|
2089
|
+
|
|
2008
2090
|
html.auto-color img {
|
|
2009
2091
|
opacity: 0.9;
|
|
2010
2092
|
}
|
|
2011
|
-
|
|
2093
|
+
|
|
2012
2094
|
html.auto-color kbd {
|
|
2013
2095
|
background: color-mod(var(--color-darkmode) l(+5%));
|
|
2014
2096
|
}
|
|
2015
|
-
|
|
2097
|
+
|
|
2016
2098
|
html.auto-color figcaption a {
|
|
2017
2099
|
color: #fff;
|
|
2018
2100
|
}
|
|
2019
|
-
|
|
2101
|
+
|
|
2020
2102
|
html.auto-color .gh-head {
|
|
2021
2103
|
background: var(--color-darkmode);
|
|
2022
2104
|
color: #fff;
|
|
2023
2105
|
}
|
|
2024
|
-
|
|
2106
|
+
|
|
2025
2107
|
html.auto-color .gh-burger-box {
|
|
2026
2108
|
color: #fff;
|
|
2027
2109
|
}
|
|
2028
|
-
|
|
2110
|
+
|
|
2029
2111
|
html.auto-color .site-header-content {
|
|
2030
2112
|
color: #fff;
|
|
2031
2113
|
}
|
|
2032
|
-
|
|
2114
|
+
|
|
2033
2115
|
html.auto-color .post-card-image {
|
|
2034
2116
|
background: var(--color-darkmode);
|
|
2035
2117
|
}
|
|
2036
|
-
|
|
2118
|
+
|
|
2037
2119
|
html.auto-color :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) {
|
|
2038
2120
|
color: color-mod(var(--color-secondary-text) l(-22%));
|
|
2039
2121
|
}
|
|
2040
|
-
|
|
2122
|
+
|
|
2041
2123
|
html.auto-color .post-card-featured {
|
|
2042
2124
|
color: #fff;
|
|
2043
2125
|
}
|
|
2044
|
-
|
|
2126
|
+
|
|
2045
2127
|
html.auto-color .post-card-title {
|
|
2046
2128
|
color: #fff;
|
|
2047
2129
|
}
|
|
2048
|
-
|
|
2130
|
+
|
|
2049
2131
|
html.auto-color .post-card-excerpt {
|
|
2050
2132
|
color: var(--color-secondary-text);
|
|
2051
2133
|
}
|
|
@@ -2061,11 +2143,11 @@ html.dark-mode .footer-cta-title {
|
|
|
2061
2143
|
html.auto-color .article-title {
|
|
2062
2144
|
color: #fff;
|
|
2063
2145
|
}
|
|
2064
|
-
|
|
2146
|
+
|
|
2065
2147
|
html.auto-color .article-excerpt {
|
|
2066
2148
|
color: var(--color-secondary-text);
|
|
2067
2149
|
}
|
|
2068
|
-
|
|
2150
|
+
|
|
2069
2151
|
html.auto-color .post-full-image {
|
|
2070
2152
|
background-color: color-mod(var(--color-darkmode) l(+8%));
|
|
2071
2153
|
}
|
|
@@ -2074,107 +2156,107 @@ html.dark-mode .footer-cta-title {
|
|
|
2074
2156
|
border-color: var(--color-darkmode);
|
|
2075
2157
|
background-color: color-mod(var(--color-darkmode) l(+8%));
|
|
2076
2158
|
}
|
|
2077
|
-
|
|
2159
|
+
|
|
2078
2160
|
html.auto-color .author-profile-image {
|
|
2079
2161
|
opacity: 1;
|
|
2080
2162
|
}
|
|
2081
|
-
|
|
2163
|
+
|
|
2082
2164
|
html.auto-color .author-profile-image path {
|
|
2083
2165
|
fill: var(--color-darkmode);
|
|
2084
2166
|
}
|
|
2085
|
-
|
|
2167
|
+
|
|
2086
2168
|
html.auto-color .article-byline-meta .author-name a {
|
|
2087
2169
|
color: #fff;
|
|
2088
2170
|
}
|
|
2089
|
-
|
|
2171
|
+
|
|
2090
2172
|
html.auto-color .no-image .author-social-link a {
|
|
2091
2173
|
color: rgba(255, 255, 255, 0.75);
|
|
2092
2174
|
}
|
|
2093
|
-
|
|
2175
|
+
|
|
2094
2176
|
html.auto-color .gh-content > [id] {
|
|
2095
2177
|
color: rgba(255, 255, 255, 0.9);
|
|
2096
2178
|
}
|
|
2097
|
-
|
|
2179
|
+
|
|
2098
2180
|
html.auto-color .gh-content pre {
|
|
2099
2181
|
background: color-mod(var(--color-darkgrey) l(-8%));
|
|
2100
2182
|
}
|
|
2101
|
-
|
|
2183
|
+
|
|
2102
2184
|
html.auto-color .gh-content :not(pre) > code {
|
|
2103
2185
|
background: color-mod(var(--color-darkgrey) l(+6%));
|
|
2104
2186
|
border-color: color-mod(var(--color-darkmode) l(+8%));
|
|
2105
2187
|
color: var(--color-wash);
|
|
2106
2188
|
}
|
|
2107
|
-
|
|
2189
|
+
|
|
2108
2190
|
html.auto-color .gh-content a:not(.kg-btn):not(.kg-nft-card-container):not(.kg-product-card-button):not(.kg-header-card-button) {
|
|
2109
2191
|
color: #fff;
|
|
2110
2192
|
}
|
|
2111
|
-
|
|
2193
|
+
|
|
2112
2194
|
html.auto-color .gh-content strong {
|
|
2113
2195
|
color: #fff;
|
|
2114
2196
|
}
|
|
2115
|
-
|
|
2197
|
+
|
|
2116
2198
|
html.auto-color .gh-content em {
|
|
2117
2199
|
color: #fff;
|
|
2118
2200
|
}
|
|
2119
|
-
|
|
2201
|
+
|
|
2120
2202
|
html.auto-color .gh-content code {
|
|
2121
2203
|
color: #fff;
|
|
2122
2204
|
background: #000;
|
|
2123
2205
|
}
|
|
2124
|
-
|
|
2206
|
+
|
|
2125
2207
|
html.auto-color hr {
|
|
2126
2208
|
border-top-color: color-mod(var(--color-darkmode) l(+8%));
|
|
2127
2209
|
}
|
|
2128
|
-
|
|
2210
|
+
|
|
2129
2211
|
html.auto-color .gh-content hr:after {
|
|
2130
2212
|
background: color-mod(var(--color-darkmode) l(+8%));
|
|
2131
2213
|
box-shadow: var(--color-darkmode) 0 0 0 5px;
|
|
2132
2214
|
}
|
|
2133
|
-
|
|
2215
|
+
|
|
2134
2216
|
html.auto-color figcaption {
|
|
2135
2217
|
color: rgba(255, 255, 255, 0.6);
|
|
2136
2218
|
}
|
|
2137
|
-
|
|
2219
|
+
|
|
2138
2220
|
html.auto-color .gh-content table td:first-child {
|
|
2139
2221
|
background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);
|
|
2140
2222
|
}
|
|
2141
|
-
|
|
2223
|
+
|
|
2142
2224
|
html.auto-color .gh-content table td:last-child {
|
|
2143
2225
|
background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);
|
|
2144
2226
|
}
|
|
2145
|
-
|
|
2227
|
+
|
|
2146
2228
|
html.auto-color .gh-content table th {
|
|
2147
2229
|
color: rgba(255, 255, 255, 0.85);
|
|
2148
2230
|
background-color: color-mod(var(--color-darkmode) l(+8%));
|
|
2149
2231
|
}
|
|
2150
|
-
|
|
2232
|
+
|
|
2151
2233
|
html.auto-color .gh-content table th,
|
|
2152
2234
|
html.auto-color .gh-content table td {
|
|
2153
2235
|
border: color-mod(var(--color-darkmode) l(+8%)) 1px solid;
|
|
2154
2236
|
}
|
|
2155
|
-
|
|
2237
|
+
|
|
2156
2238
|
html.auto-color .gh-content input {
|
|
2157
2239
|
color: color-mod(var(--color-midgrey) l(-30%));
|
|
2158
2240
|
}
|
|
2159
|
-
|
|
2241
|
+
|
|
2160
2242
|
html.auto-color .site-archive-header .no-image {
|
|
2161
2243
|
color: rgba(255, 255, 255, 0.9);
|
|
2162
2244
|
background: var(--color-darkmode);
|
|
2163
2245
|
}
|
|
2164
|
-
|
|
2246
|
+
|
|
2165
2247
|
html.auto-color .kg-header-card.kg-style-dark {
|
|
2166
2248
|
background: color-mod(var(--color-darkgrey) l(-5%));
|
|
2167
2249
|
}
|
|
2168
|
-
|
|
2250
|
+
|
|
2169
2251
|
html.auto-color .kg-header-card.kg-style-light {
|
|
2170
2252
|
background: color-mod(var(--color-darkgrey) l(+5%));
|
|
2171
2253
|
}
|
|
2172
|
-
|
|
2254
|
+
|
|
2173
2255
|
html.auto-color .kg-header-card h2.kg-header-card-header,
|
|
2174
2256
|
html.auto-color .kg-header-card h3.kg-header-card-subheader {
|
|
2175
2257
|
color: #fff;
|
|
2176
2258
|
}
|
|
2177
|
-
|
|
2259
|
+
|
|
2178
2260
|
html.auto-color .footer-cta-title {
|
|
2179
2261
|
color: #fff;
|
|
2180
2262
|
}
|
|
@@ -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.
|
|
5
|
+
"version": "5.3.0",
|
|
6
6
|
"engines": {
|
|
7
7
|
"ghost": ">=5.0.0"
|
|
8
8
|
},
|
|
@@ -45,11 +45,11 @@
|
|
|
45
45
|
"bugs": "https://github.com/TryGhost/Casper/issues",
|
|
46
46
|
"contributors": "https://github.com/TryGhost/Casper/graphs/contributors",
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@tryghost/release-utils": "0.8.
|
|
48
|
+
"@tryghost/release-utils": "0.8.1",
|
|
49
49
|
"autoprefixer": "10.4.7",
|
|
50
50
|
"beeper": "2.1.0",
|
|
51
51
|
"cssnano": "5.1.12",
|
|
52
|
-
"gscan": "4.
|
|
52
|
+
"gscan": "4.34.0",
|
|
53
53
|
"gulp": "4.0.2",
|
|
54
54
|
"gulp-concat": "2.6.1",
|
|
55
55
|
"gulp-livereload": "4.0.2",
|
|
@@ -66,9 +66,11 @@ which templates loop over to generate a list of posts. --}}
|
|
|
66
66
|
<footer class="post-card-meta">
|
|
67
67
|
<time class="post-card-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time>
|
|
68
68
|
{{#if reading_time}}
|
|
69
|
-
<span class="sep">—</span>
|
|
70
69
|
<span class="post-card-meta-length">{{reading_time}}</span>
|
|
71
70
|
{{/if}}
|
|
71
|
+
{{#if @site.comments_enabled}}
|
|
72
|
+
{{comment_count}}
|
|
73
|
+
{{/if}}
|
|
72
74
|
</footer>
|
|
73
75
|
|
|
74
76
|
</div>
|
|
@@ -86,11 +86,11 @@ into the {body} tag of the default.hbs template --}}
|
|
|
86
86
|
{{content}}
|
|
87
87
|
</section>
|
|
88
88
|
|
|
89
|
-
{{
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
{{#if comments}}
|
|
90
|
+
<section class="article-comments gh-canvas">
|
|
91
|
+
{{comments}}
|
|
92
|
+
</section>
|
|
93
|
+
{{/if}}
|
|
94
94
|
|
|
95
95
|
</article>
|
|
96
96
|
</main>
|
|
@@ -98,6 +98,7 @@ into the {body} tag of the default.hbs template --}}
|
|
|
98
98
|
{{!-- A signup call to action is displayed here, unless viewed as a logged-in member --}}
|
|
99
99
|
{{#if @site.members_enabled}}
|
|
100
100
|
{{#unless @member}}
|
|
101
|
+
{{#unless @site.comments_enabled}}
|
|
101
102
|
{{#if access}}
|
|
102
103
|
<section class="footer-cta outer">
|
|
103
104
|
<div class="inner">
|
|
@@ -106,12 +107,11 @@ into the {body} tag of the default.hbs template --}}
|
|
|
106
107
|
<div class="footer-cta-input">Enter your email</div>
|
|
107
108
|
<span>Subscribe</span>
|
|
108
109
|
</a>
|
|
109
|
-
{{!-- ^ This looks like a form element, but it's just a link to Portal,
|
|
110
|
-
making the form validation and submission much simpler. --}}
|
|
111
110
|
</div>
|
|
112
111
|
</section>
|
|
113
112
|
{{/if}}
|
|
114
113
|
{{/unless}}
|
|
114
|
+
{{/unless}}
|
|
115
115
|
{{/if}}
|
|
116
116
|
|
|
117
117
|
|
|
@@ -27,60 +27,50 @@
|
|
|
27
27
|
tslib "^2.4.0"
|
|
28
28
|
undici "^5.1.1"
|
|
29
29
|
|
|
30
|
-
"@sentry/core@
|
|
31
|
-
version "
|
|
32
|
-
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-
|
|
33
|
-
integrity sha512-
|
|
34
|
-
dependencies:
|
|
35
|
-
"@sentry/hub" "
|
|
36
|
-
"@sentry/
|
|
37
|
-
"@sentry/
|
|
38
|
-
"@sentry/utils" "6.19.7"
|
|
30
|
+
"@sentry/core@7.8.1":
|
|
31
|
+
version "7.8.1"
|
|
32
|
+
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.8.1.tgz#d11ba7c97766d1e47edf697dbfd47fe4041477d9"
|
|
33
|
+
integrity sha512-PRivbdIzApi/gSixAxozhOBTylSVdw/9VxaStYHd7JJGhs36KXkV8ylpbCmYO4ap7/Ue9/slzwpvPOJJzmzAgA==
|
|
34
|
+
dependencies:
|
|
35
|
+
"@sentry/hub" "7.8.1"
|
|
36
|
+
"@sentry/types" "7.8.1"
|
|
37
|
+
"@sentry/utils" "7.8.1"
|
|
39
38
|
tslib "^1.9.3"
|
|
40
39
|
|
|
41
|
-
"@sentry/hub@
|
|
42
|
-
version "
|
|
43
|
-
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-
|
|
44
|
-
integrity sha512-
|
|
40
|
+
"@sentry/hub@7.8.1":
|
|
41
|
+
version "7.8.1"
|
|
42
|
+
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-7.8.1.tgz#bc255c6b8e99a3333e737f189c984c715df504aa"
|
|
43
|
+
integrity sha512-AxwyGyS9Lp4XsURu4t8opa5vZ+NAB6I/n+B/Uix3YZea9z8jdWYAu9vsXSizOrtxekc/i7ZN4bnlNgXVHix0iA==
|
|
45
44
|
dependencies:
|
|
46
|
-
"@sentry/types" "
|
|
47
|
-
"@sentry/utils" "
|
|
45
|
+
"@sentry/types" "7.8.1"
|
|
46
|
+
"@sentry/utils" "7.8.1"
|
|
48
47
|
tslib "^1.9.3"
|
|
49
48
|
|
|
50
|
-
"@sentry/
|
|
51
|
-
version "
|
|
52
|
-
resolved "https://registry.yarnpkg.com/@sentry/
|
|
53
|
-
integrity sha512-
|
|
49
|
+
"@sentry/node@7.8.1":
|
|
50
|
+
version "7.8.1"
|
|
51
|
+
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.8.1.tgz#9dca7afee2d9ad38fd9756e13439ce09d2f01934"
|
|
52
|
+
integrity sha512-gQHeIip7QudeK1YWrLyZPc7nfirhbVDJ3gfCfL9mLT724Sk8gKd1kcpU1niI+wwIwY7SOpJqX4Oh/F0lRKjzDQ==
|
|
54
53
|
dependencies:
|
|
55
|
-
"@sentry/
|
|
56
|
-
"@sentry/
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"@sentry/node@6.19.7":
|
|
60
|
-
version "6.19.7"
|
|
61
|
-
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.19.7.tgz#32963b36b48daebbd559e6f13b1deb2415448592"
|
|
62
|
-
integrity sha512-gtmRC4dAXKODMpHXKfrkfvyBL3cI8y64vEi3fDD046uqYcrWdgoQsffuBbxMAizc6Ez1ia+f0Flue6p15Qaltg==
|
|
63
|
-
dependencies:
|
|
64
|
-
"@sentry/core" "6.19.7"
|
|
65
|
-
"@sentry/hub" "6.19.7"
|
|
66
|
-
"@sentry/types" "6.19.7"
|
|
67
|
-
"@sentry/utils" "6.19.7"
|
|
54
|
+
"@sentry/core" "7.8.1"
|
|
55
|
+
"@sentry/hub" "7.8.1"
|
|
56
|
+
"@sentry/types" "7.8.1"
|
|
57
|
+
"@sentry/utils" "7.8.1"
|
|
68
58
|
cookie "^0.4.1"
|
|
69
59
|
https-proxy-agent "^5.0.0"
|
|
70
60
|
lru_map "^0.3.3"
|
|
71
61
|
tslib "^1.9.3"
|
|
72
62
|
|
|
73
|
-
"@sentry/types@
|
|
74
|
-
version "
|
|
75
|
-
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-
|
|
76
|
-
integrity sha512-
|
|
63
|
+
"@sentry/types@7.8.1":
|
|
64
|
+
version "7.8.1"
|
|
65
|
+
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.8.1.tgz#c00a1ed02ad8f69d3b94fcda91e2d24e0bb3492a"
|
|
66
|
+
integrity sha512-LOoaeBXVI23Kh5SpIbxSRiJ6+eYZXVOFyPFH1T1mGBj95LPwRMqOdg0lUTmFJGBKbDGDB/YNjNnu1kQ7GrXBXw==
|
|
77
67
|
|
|
78
|
-
"@sentry/utils@
|
|
79
|
-
version "
|
|
80
|
-
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-
|
|
81
|
-
integrity sha512-
|
|
68
|
+
"@sentry/utils@7.8.1":
|
|
69
|
+
version "7.8.1"
|
|
70
|
+
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.8.1.tgz#5d8a7e1c8d834de608ad834cf648d5291c62ba39"
|
|
71
|
+
integrity sha512-isUZjft4HWTOk1Z58KFJ/zzXeFtIJgP82CkYQlW464ZR2WCqPHYlXXXRWZpOHOfMnrf+gWeX9WAGS9rTAdhiSg==
|
|
82
72
|
dependencies:
|
|
83
|
-
"@sentry/types" "
|
|
73
|
+
"@sentry/types" "7.8.1"
|
|
84
74
|
tslib "^1.9.3"
|
|
85
75
|
|
|
86
76
|
"@sindresorhus/is@^0.14.0":
|
|
@@ -161,10 +151,10 @@
|
|
|
161
151
|
json-stringify-safe "^5.0.1"
|
|
162
152
|
lodash "^4.17.21"
|
|
163
153
|
|
|
164
|
-
"@tryghost/pretty-cli@1.2.
|
|
165
|
-
version "1.2.
|
|
166
|
-
resolved "https://registry.yarnpkg.com/@tryghost/pretty-cli/-/pretty-cli-1.2.
|
|
167
|
-
integrity sha512-
|
|
154
|
+
"@tryghost/pretty-cli@1.2.29":
|
|
155
|
+
version "1.2.29"
|
|
156
|
+
resolved "https://registry.yarnpkg.com/@tryghost/pretty-cli/-/pretty-cli-1.2.29.tgz#1484e0aae195f7766d38807e00d5b4094cfb9172"
|
|
157
|
+
integrity sha512-J+rA4D+VFCVG/hBZaPqaD5wXp9A+6TNYEqIYPpREvLpOL+fD5bP4W+xiYHEQa4aQoq0MNm5X7bXmtgxPFfdX+g==
|
|
168
158
|
dependencies:
|
|
169
159
|
chalk "^4.1.0"
|
|
170
160
|
sywac "^1.3.0"
|
|
@@ -178,10 +168,10 @@
|
|
|
178
168
|
moment "^2.29.1"
|
|
179
169
|
prettyjson "^1.2.5"
|
|
180
170
|
|
|
181
|
-
"@tryghost/release-utils@0.8.
|
|
182
|
-
version "0.8.
|
|
183
|
-
resolved "https://registry.yarnpkg.com/@tryghost/release-utils/-/release-utils-0.8.
|
|
184
|
-
integrity sha512-
|
|
171
|
+
"@tryghost/release-utils@0.8.1":
|
|
172
|
+
version "0.8.1"
|
|
173
|
+
resolved "https://registry.yarnpkg.com/@tryghost/release-utils/-/release-utils-0.8.1.tgz#6565e48d903b6b727bd6c8326a345a3a2fce71f1"
|
|
174
|
+
integrity sha512-smSspchAfNW7KL8ERIR1F4CUS2/eB0Ajt6X4Wbx0b4bJ4crJeFAn3wFHM9c20AhNdRacQ3W2PtPO/Sq9jcx1Hg==
|
|
185
175
|
dependencies:
|
|
186
176
|
"@tryghost/errors" "^1.2.1"
|
|
187
177
|
bluebird "^3.7.2"
|
|
@@ -244,10 +234,10 @@
|
|
|
244
234
|
"@tryghost/root-utils" "^0.3.15"
|
|
245
235
|
semver "^7.3.5"
|
|
246
236
|
|
|
247
|
-
"@tryghost/zip@1.1.
|
|
248
|
-
version "1.1.
|
|
249
|
-
resolved "https://registry.yarnpkg.com/@tryghost/zip/-/zip-1.1.
|
|
250
|
-
integrity sha512-
|
|
237
|
+
"@tryghost/zip@1.1.27":
|
|
238
|
+
version "1.1.27"
|
|
239
|
+
resolved "https://registry.yarnpkg.com/@tryghost/zip/-/zip-1.1.27.tgz#604ae4c83dd6eabf61475cc83c6b558233cd0dfe"
|
|
240
|
+
integrity sha512-PokFblvBm90vtwsDJDpwYJ72lDTVj3Ig3epox035R75Dmln0Vl4wjoaeMKOv9xj3RjmXUpry/fINNMEiBX2mNg==
|
|
251
241
|
dependencies:
|
|
252
242
|
archiver "^5.0.0"
|
|
253
243
|
bluebird "^3.7.2"
|
|
@@ -2069,17 +2059,16 @@ glob-watcher@^5.0.3:
|
|
|
2069
2059
|
normalize-path "^3.0.0"
|
|
2070
2060
|
object.defaults "^1.1.0"
|
|
2071
2061
|
|
|
2072
|
-
glob@
|
|
2073
|
-
version "
|
|
2074
|
-
resolved "https://registry.yarnpkg.com/glob/-/glob-
|
|
2075
|
-
integrity sha512-
|
|
2062
|
+
glob@8.0.3:
|
|
2063
|
+
version "8.0.3"
|
|
2064
|
+
resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
|
|
2065
|
+
integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
|
|
2076
2066
|
dependencies:
|
|
2077
2067
|
fs.realpath "^1.0.0"
|
|
2078
2068
|
inflight "^1.0.4"
|
|
2079
2069
|
inherits "2"
|
|
2080
|
-
minimatch "^
|
|
2070
|
+
minimatch "^5.0.1"
|
|
2081
2071
|
once "^1.3.0"
|
|
2082
|
-
path-is-absolute "^1.0.0"
|
|
2083
2072
|
|
|
2084
2073
|
glob@^6.0.1:
|
|
2085
2074
|
version "6.0.4"
|
|
@@ -2092,6 +2081,18 @@ glob@^6.0.1:
|
|
|
2092
2081
|
once "^1.3.0"
|
|
2093
2082
|
path-is-absolute "^1.0.0"
|
|
2094
2083
|
|
|
2084
|
+
glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4:
|
|
2085
|
+
version "7.2.3"
|
|
2086
|
+
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
|
|
2087
|
+
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
|
|
2088
|
+
dependencies:
|
|
2089
|
+
fs.realpath "^1.0.0"
|
|
2090
|
+
inflight "^1.0.4"
|
|
2091
|
+
inherits "2"
|
|
2092
|
+
minimatch "^3.1.1"
|
|
2093
|
+
once "^1.3.0"
|
|
2094
|
+
path-is-absolute "^1.0.0"
|
|
2095
|
+
|
|
2095
2096
|
global-modules@^1.0.0:
|
|
2096
2097
|
version "1.0.0"
|
|
2097
2098
|
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
|
|
@@ -2152,26 +2153,26 @@ graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6,
|
|
|
2152
2153
|
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
|
|
2153
2154
|
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
|
|
2154
2155
|
|
|
2155
|
-
gscan@4.
|
|
2156
|
-
version "4.
|
|
2157
|
-
resolved "https://registry.yarnpkg.com/gscan/-/gscan-4.
|
|
2158
|
-
integrity sha512-
|
|
2156
|
+
gscan@4.34.0:
|
|
2157
|
+
version "4.34.0"
|
|
2158
|
+
resolved "https://registry.yarnpkg.com/gscan/-/gscan-4.34.0.tgz#1835faf795163184fce0aba43b56a4374f75134c"
|
|
2159
|
+
integrity sha512-uITKioTZHoWatKKlV+yI963joF8+shUwaqM+A7DJng5H251YTfrW3cAiCrHyedGhJckrN7XPeEnbpNbTDoWCiw==
|
|
2159
2160
|
dependencies:
|
|
2160
|
-
"@sentry/node" "
|
|
2161
|
+
"@sentry/node" "7.8.1"
|
|
2161
2162
|
"@tryghost/config" "0.2.9"
|
|
2162
2163
|
"@tryghost/debug" "0.1.17"
|
|
2163
2164
|
"@tryghost/errors" "1.2.14"
|
|
2164
2165
|
"@tryghost/logging" "2.2.3"
|
|
2165
|
-
"@tryghost/pretty-cli" "1.2.
|
|
2166
|
+
"@tryghost/pretty-cli" "1.2.29"
|
|
2166
2167
|
"@tryghost/server" "0.1.21"
|
|
2167
|
-
"@tryghost/zip" "1.1.
|
|
2168
|
+
"@tryghost/zip" "1.1.27"
|
|
2168
2169
|
bluebird "3.7.2"
|
|
2169
2170
|
chalk "4.1.2"
|
|
2170
2171
|
common-tags "1.8.2"
|
|
2171
2172
|
express "4.18.1"
|
|
2172
2173
|
express-hbs "2.4.0"
|
|
2173
2174
|
fs-extra "10.1.0"
|
|
2174
|
-
glob "
|
|
2175
|
+
glob "8.0.3"
|
|
2175
2176
|
lodash "4.17.21"
|
|
2176
2177
|
multer "1.4.4"
|
|
2177
2178
|
pluralize "8.0.0"
|
|
@@ -3113,7 +3114,7 @@ mimic-response@^1.0.0, mimic-response@^1.0.1:
|
|
|
3113
3114
|
dependencies:
|
|
3114
3115
|
brace-expansion "^1.1.7"
|
|
3115
3116
|
|
|
3116
|
-
minimatch@^5.1.0:
|
|
3117
|
+
minimatch@^5.0.1, minimatch@^5.1.0:
|
|
3117
3118
|
version "5.1.0"
|
|
3118
3119
|
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
|
|
3119
3120
|
integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
|
package/core/boot.js
CHANGED
|
@@ -105,11 +105,13 @@ async function initCore({ghostServer, config, bootLogger, frontend}) {
|
|
|
105
105
|
// The URLService is a core part of Ghost, which depends on models.
|
|
106
106
|
debug('Begin: Url Service');
|
|
107
107
|
const urlService = require('./server/services/url');
|
|
108
|
+
const urlServiceStart = Date.now();
|
|
108
109
|
// Note: there is no await here, we do not wait for the url service to finish
|
|
109
110
|
// We can return, but the site will remain in maintenance mode until this finishes
|
|
110
111
|
// This is managed on request: https://github.com/TryGhost/Ghost/blob/main/core/app.js#L10
|
|
111
112
|
urlService.init({
|
|
112
113
|
onFinished: () => {
|
|
114
|
+
bootLogger.metric('url-service', urlServiceStart);
|
|
113
115
|
bootLogger.log('URL Service Ready');
|
|
114
116
|
},
|
|
115
117
|
urlCache: !frontend // hacky parameter to make the cache initialization kick in as we can't initialize labs before the boot
|