ghost 4.30.0 → 4.32.1
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/LICENSE +1 -1
- package/README.md +1 -1
- 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 +110 -43
- package/content/themes/casper/package.json +1 -1
- package/core/built/assets/{chunk.3.e54be01b5124e4e27958.js → chunk.3.4906cf0b01d6d8e33374.js} +134 -130
- package/core/built/assets/ghost-dark-67f6ba8347be37f997b3a7e430b29f72.css +1 -0
- package/core/built/assets/ghost.min-2d5f48403647d1e11805691cc7ad0835.css +1 -0
- package/core/built/assets/{ghost.min-884660873d56fcc3d2a3b9fe94c9f022.js → ghost.min-7535b70693bcefde1665bdf621087cbe.js} +1066 -1129
- package/core/built/assets/{vendor.min-987af30228885bce50f05c4723fe6f53.css → vendor.min-0e0334a490951ab747706621f9ccd8b6.css} +18 -10
- package/core/built/assets/{vendor.min-a2fd1e62ce6da8911fee8e812d8c6ceb.js → vendor.min-45e83041aeba4ea7b184f669b20a2b23.js} +1059 -1024
- package/core/frontend/apps/amp/lib/views/amp.hbs +134 -0
- package/core/frontend/helpers/get.js +4 -0
- package/core/frontend/meta/description.js +3 -3
- package/core/frontend/services/sitemap/base-generator.js +21 -18
- package/core/frontend/services/sitemap/handler.js +13 -4
- package/core/frontend/services/sitemap/index-generator.js +20 -10
- package/core/frontend/services/sitemap/manager.js +8 -5
- package/core/frontend/services/theme-engine/middleware/update-local-template-options.js +1 -6
- package/core/frontend/src/cards/css/audio.css +5 -0
- package/core/frontend/src/cards/css/before-after.css +45 -11
- package/core/frontend/src/cards/css/bookmark.css +5 -0
- package/core/frontend/src/cards/css/button.css +5 -0
- package/core/frontend/src/cards/css/callout.css +11 -1
- package/core/frontend/src/cards/css/file.css +14 -3
- package/core/frontend/src/cards/css/gallery.css +10 -3
- package/core/frontend/src/cards/css/header.css +233 -0
- package/core/frontend/src/cards/css/nft.css +5 -0
- package/core/frontend/src/cards/css/product.css +7 -5
- package/core/frontend/src/cards/css/toggle.css +6 -0
- package/core/frontend/src/cards/css/video.css +4 -0
- package/core/frontend/src/cards/js/before-after.js +10 -15
- package/core/frontend/views/unsubscribe.hbs +12 -7
- package/core/frontend/web/site.js +2 -3
- package/core/server/models/single-use-token.js +1 -1
- package/core/server/services/mail/templates/invite-user.html +1 -1
- package/core/server/services/mail/templates/reset-password.html +1 -1
- package/core/server/services/mail/templates/welcome.html +1 -1
- package/core/server/services/mega/template.js +113 -3
- package/core/server/services/members/emails/signin.js +1 -1
- package/core/server/services/members/emails/signup-paid.js +1 -1
- package/core/server/services/members/emails/signup.js +1 -1
- package/core/server/services/members/emails/subscribe.js +1 -1
- package/core/server/services/members/emails/updateEmail.js +1 -1
- package/core/server/services/members/service.js +9 -0
- package/core/server/services/themes/activation-bridge.js +3 -10
- package/core/server/services/themes/index.js +0 -21
- package/core/server/services/twitter-embed.js +1 -2
- package/core/server/web/admin/views/default-prod.html +5 -5
- package/core/server/web/admin/views/default.html +5 -5
- package/core/server/web/api/canary/admin/routes.js +2 -6
- package/core/shared/config/defaults.json +2 -2
- package/core/shared/config/overrides.json +11 -1
- package/core/shared/labs.js +1 -14
- package/package.json +26 -26
- package/yarn.lock +2265 -2511
- package/core/built/assets/ghost-dark-1594d07a0716e0253a78234c8e42d765.css +0 -1
- package/core/built/assets/ghost.min-c21fea11c3f431994a8ee7c47a8ed145.css +0 -1
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
.kg-header-card,
|
|
2
|
+
.kg-header-card * {
|
|
3
|
+
box-sizing: border-box;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.kg-header-card {
|
|
7
|
+
padding: 12vmin 4em;
|
|
8
|
+
min-height: 60vh;
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
align-items: center;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
text-align: center;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.kg-header-card.kg-size-small {
|
|
17
|
+
padding-top: 14vmin;
|
|
18
|
+
padding-bottom: 14vmin;
|
|
19
|
+
min-height: 40vh;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.kg-header-card.kg-size-large {
|
|
23
|
+
padding-top: 18vmin;
|
|
24
|
+
padding-bottom: 18vmin;
|
|
25
|
+
min-height: 80vh;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.kg-header-card.kg-align-left {
|
|
29
|
+
text-align: left;
|
|
30
|
+
align-items: flex-start;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.kg-header-card.kg-style-dark {
|
|
34
|
+
background: #151515;
|
|
35
|
+
color: #ffffff;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.kg-header-card.kg-style-light {
|
|
39
|
+
background-color: #fafafa;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.kg-header-card.kg-style-accent {
|
|
43
|
+
background-color: var(--ghost-accent-color);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.kg-header-card.kg-style-image {
|
|
47
|
+
position: relative;
|
|
48
|
+
background-color: #e7e7e7;
|
|
49
|
+
background-size: cover;
|
|
50
|
+
background-position: center;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.kg-header-card.kg-style-image::before {
|
|
54
|
+
position: absolute;
|
|
55
|
+
display: block;
|
|
56
|
+
content: "";
|
|
57
|
+
top: 0;
|
|
58
|
+
right: 0;
|
|
59
|
+
bottom: 0;
|
|
60
|
+
left: 0;
|
|
61
|
+
background: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.kg-header-card h2.kg-header-card-header {
|
|
65
|
+
font-size: 5em;
|
|
66
|
+
font-weight: 700;
|
|
67
|
+
line-height: 1.1em;
|
|
68
|
+
letter-spacing: -0.01em;
|
|
69
|
+
margin: 0;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.kg-header-card h2.kg-header-card-header strong {
|
|
73
|
+
font-weight: 800;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.kg-header-card.kg-size-small h2.kg-header-card-header {
|
|
77
|
+
font-size: 4em;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.kg-header-card.kg-size-large h2.kg-header-card-header {
|
|
81
|
+
font-size: 6em;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.kg-header-card h3.kg-header-card-subheader {
|
|
85
|
+
font-size: 1.5em;
|
|
86
|
+
font-weight: 500;
|
|
87
|
+
line-height: 1.4em;
|
|
88
|
+
margin: 0;
|
|
89
|
+
max-width: 40em;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.kg-header-card h2 + h3.kg-header-card-subheader {
|
|
93
|
+
margin: 0.35em 0 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.kg-header-card h3.kg-header-card-subheader strong {
|
|
97
|
+
font-weight: 600;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.kg-header-card.kg-size-small h3.kg-header-card-subheader {
|
|
101
|
+
font-size: 1.25em;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.kg-header-card.kg-size-large h3.kg-header-card-subheader {
|
|
105
|
+
font-size: 1.75em;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.kg-header-card:not(.kg-style-light) h2.kg-header-card-header,
|
|
109
|
+
.kg-header-card:not(.kg-style-light) h3.kg-header-card-subheader {
|
|
110
|
+
color: #ffffff;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.kg-header-card.kg-style-accent h3.kg-header-card-subheader,
|
|
114
|
+
.kg-header-card.kg-style-image h3.kg-header-card-subheader {
|
|
115
|
+
opacity: 1.0;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.kg-header-card.kg-style-image h2.kg-header-card-header,
|
|
119
|
+
.kg-header-card.kg-style-image h3.kg-header-card-subheader,
|
|
120
|
+
.kg-header-card.kg-style-image a.kg-header-card-button {
|
|
121
|
+
z-index: 999;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.kg-header-card h2.kg-header-card-header a,
|
|
125
|
+
.kg-header-card h3.kg-header-card-subheader a {
|
|
126
|
+
color: var(--ghost-accent-color);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.kg-header-card.kg-style-accent h2.kg-header-card-header a,
|
|
130
|
+
.kg-header-card.kg-style-accent h3.kg-header-card-subheader a,
|
|
131
|
+
.kg-header-card.kg-style-image h2.kg-header-card-header a,
|
|
132
|
+
.kg-header-card.kg-style-image h3.kg-header-card-subheader a {
|
|
133
|
+
color: #fff;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.kg-header-card a.kg-header-card-button {
|
|
137
|
+
display: flex;
|
|
138
|
+
position: static;
|
|
139
|
+
align-items: center;
|
|
140
|
+
fill: #fff;
|
|
141
|
+
background: #fff;
|
|
142
|
+
border-radius: 3px;
|
|
143
|
+
outline: none;
|
|
144
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
|
145
|
+
font-size: 1.05em;
|
|
146
|
+
font-weight: 600;
|
|
147
|
+
line-height: 1em;
|
|
148
|
+
text-align: center;
|
|
149
|
+
text-decoration: none;
|
|
150
|
+
letter-spacing: .2px;
|
|
151
|
+
white-space: nowrap;
|
|
152
|
+
text-overflow: ellipsis;
|
|
153
|
+
color: #151515;
|
|
154
|
+
height: 2.7em;
|
|
155
|
+
padding: 0 1.2em;
|
|
156
|
+
transition: opacity .2s ease;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.kg-header-card h2 + a.kg-header-card-button,
|
|
160
|
+
.kg-header-card h3 + a.kg-header-card-button {
|
|
161
|
+
margin: 1.75em 0 0;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.kg-header-card a.kg-header-card-button:hover {
|
|
165
|
+
opacity: 0.85;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.kg-header-card.kg-size-large a.kg-header-card-button {
|
|
169
|
+
font-size: 1.1em;
|
|
170
|
+
height: 2.9em;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.kg-header-card.kg-size-large h2 + a.kg-header-card-button,
|
|
174
|
+
.kg-header-card.kg-size-large h3 + a.kg-header-card-button {
|
|
175
|
+
margin-top: 2em;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.kg-header-card.kg-size-small a.kg-header-card-button {
|
|
179
|
+
height: 2.4em;
|
|
180
|
+
font-size: 1em;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.kg-header-card.kg-size-small h2 + a.kg-header-card-button,
|
|
184
|
+
.kg-header-card.kg-size-small h3 + a.kg-header-card-button {
|
|
185
|
+
margin-top: 1.5em;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.kg-header-card.kg-style-image a.kg-header-card-button,
|
|
189
|
+
.kg-header-card.kg-style-dark a.kg-header-card-button {
|
|
190
|
+
background: #fff;
|
|
191
|
+
color: #151515;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.kg-header-card.kg-style-light a.kg-header-card-button {
|
|
195
|
+
background: var(--ghost-accent-color);
|
|
196
|
+
color: #fff;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.kg-header-card.kg-style-accent a.kg-header-card-button {
|
|
200
|
+
background: #fff;
|
|
201
|
+
color: #151515;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
@media (max-width: 640px) {
|
|
205
|
+
.kg-header-card {
|
|
206
|
+
padding-left: 1em;
|
|
207
|
+
padding-right: 1em;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.kg-header-card h2.kg-header-card-header {
|
|
211
|
+
font-size: 3.5em;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.kg-header-card.kg-size-large h2.kg-header-card-header {
|
|
215
|
+
font-size: 4em;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.kg-header-card.kg-size-small h2.kg-header-card-header {
|
|
219
|
+
font-size: 3em;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.kg-header-card h3.kg-header-card-subheader {
|
|
223
|
+
font-size: 1.25em;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.kg-header-card.kg-size-large h3.kg-header-card-subheader {
|
|
227
|
+
font-size: 1.5em;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.kg-header-card.kg-size-small h3.kg-header-card-subheader {
|
|
231
|
+
font-size: 1em;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
.kg-product-card,
|
|
2
|
+
.kg-product-card * {
|
|
3
|
+
box-sizing: border-box;
|
|
4
|
+
}
|
|
5
|
+
|
|
1
6
|
.kg-product-card {
|
|
2
7
|
display: flex;
|
|
3
8
|
align-items: center;
|
|
@@ -48,10 +53,6 @@
|
|
|
48
53
|
font-size: 0.95em;
|
|
49
54
|
line-height: 1.5em;
|
|
50
55
|
opacity: .7;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.kg-product-card .kg-product-card-description p:not(:first-of-type) {
|
|
54
|
-
margin-top: 0.8em;
|
|
55
56
|
margin-bottom: 0;
|
|
56
57
|
}
|
|
57
58
|
|
|
@@ -59,13 +60,14 @@
|
|
|
59
60
|
margin-top: -4px;
|
|
60
61
|
}
|
|
61
62
|
|
|
63
|
+
.kg-product-card .kg-product-card-description p:not(:first-of-type),
|
|
62
64
|
.kg-product-card .kg-product-card-description ul,
|
|
63
65
|
.kg-product-card .kg-product-card-description ol {
|
|
64
66
|
margin-top: 0.95em;
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
.kg-product-card .kg-product-card-description li+li {
|
|
68
|
-
margin-top: 0.
|
|
70
|
+
margin-top: 0.5em;
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
.kg-product-card-rating {
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
.kg-toggle-card,
|
|
2
|
+
.kg-toggle-card * {
|
|
3
|
+
box-sizing: border-box;
|
|
4
|
+
}
|
|
5
|
+
|
|
1
6
|
.kg-toggle-card {
|
|
2
7
|
background: transparent;
|
|
3
8
|
box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);
|
|
@@ -51,6 +56,7 @@
|
|
|
51
56
|
font-size: 0.95em;
|
|
52
57
|
line-height: 1.5em;
|
|
53
58
|
margin-top: 0.95em;
|
|
59
|
+
margin-bottom: 0;
|
|
54
60
|
}
|
|
55
61
|
|
|
56
62
|
.kg-toggle-card li + li {
|
|
@@ -2,35 +2,30 @@
|
|
|
2
2
|
const beforeAfterCards = [...document.querySelectorAll('.kg-before-after-card')];
|
|
3
3
|
|
|
4
4
|
for (let card of beforeAfterCards) {
|
|
5
|
-
const isFullWidth = card.classList.contains('kg-width-full');
|
|
6
5
|
const input = card.querySelector('input');
|
|
7
6
|
const overlay = card.querySelector('.kg-before-after-card-image-before');
|
|
8
|
-
const
|
|
7
|
+
const button = card.querySelector('.kg-before-after-card-slider-button');
|
|
9
8
|
const images = [...card.querySelectorAll('img')];
|
|
10
|
-
const smallestImageWidth = Math.min(
|
|
11
|
-
...images.map(img => parseInt(img.getAttribute('width')))
|
|
12
|
-
);
|
|
13
9
|
|
|
14
10
|
function updateSlider() {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} else {
|
|
18
|
-
overlay.setAttribute('style', `width: ${input.value}%`);
|
|
19
|
-
}
|
|
11
|
+
overlay.setAttribute('style', `width: ${input.value}%`);
|
|
12
|
+
button.setAttribute('style', `left: calc(${input.value}% - 18px`);
|
|
20
13
|
}
|
|
21
14
|
|
|
22
15
|
function updateDimensions() {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
image.setAttribute('style', `width: ${width.toString()}px;`);
|
|
27
|
-
}
|
|
16
|
+
const imageWidth = getComputedStyle(images[0]).getPropertyValue('width');
|
|
17
|
+
|
|
18
|
+
images[1].setAttribute('style', `width: ${imageWidth}`);
|
|
28
19
|
}
|
|
29
20
|
|
|
30
21
|
input.addEventListener('input', function () {
|
|
31
22
|
updateSlider();
|
|
32
23
|
});
|
|
33
24
|
|
|
25
|
+
input.addEventListener('change', function () {
|
|
26
|
+
input.blur();
|
|
27
|
+
});
|
|
28
|
+
|
|
34
29
|
window.addEventListener('resize', function () {
|
|
35
30
|
updateDimensions();
|
|
36
31
|
});
|
|
@@ -33,16 +33,21 @@
|
|
|
33
33
|
</a>
|
|
34
34
|
</nav>
|
|
35
35
|
</header>
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
<div class="gh-flow-content-wrap">
|
|
38
38
|
<section class="gh-flow-content gh-flow-content-unsubscribe">
|
|
39
|
-
|
|
40
|
-
{{
|
|
41
|
-
|
|
42
|
-
{{
|
|
43
|
-
|
|
39
|
+
{{#if error}}
|
|
40
|
+
<p>{{error}}</p>
|
|
41
|
+
{{else}}
|
|
42
|
+
{{#if member}}
|
|
43
|
+
<p>
|
|
44
|
+
<span class="gh-flow-em">{{member.email}}</span> has been successfully unsubscribed from emails.
|
|
45
|
+
<br>
|
|
46
|
+
Don't worry, this will not cancel your paid subscription to {{@site.title}}.
|
|
47
|
+
</p>
|
|
48
|
+
<p>Didn't mean to do this? Manage your account <a href="{{@site.url}}/#/portal/account">here</a>.</p>
|
|
44
49
|
{{/if}}
|
|
45
|
-
|
|
50
|
+
{{/if}}
|
|
46
51
|
</section>
|
|
47
52
|
</div>
|
|
48
53
|
</div>
|
|
@@ -22,7 +22,6 @@ const siteRoutes = require('./routes');
|
|
|
22
22
|
const shared = require('../../server/web/shared');
|
|
23
23
|
const errorHandler = require('@tryghost/mw-error-handler');
|
|
24
24
|
const mw = require('./middleware');
|
|
25
|
-
const labs = require('../../shared/labs');
|
|
26
25
|
|
|
27
26
|
const STATIC_IMAGE_URL_PREFIX = `/${urlUtils.STATIC_IMAGE_URL_PREFIX}`;
|
|
28
27
|
const STATIC_MEDIA_URL_PREFIX = `/${constants.STATIC_MEDIA_URL_PREFIX}`;
|
|
@@ -118,9 +117,9 @@ module.exports = function setupSiteApp(options = {}) {
|
|
|
118
117
|
// Serve blog images using the storage adapter
|
|
119
118
|
siteApp.use(STATIC_IMAGE_URL_PREFIX, mw.handleImageSizes, storage.getStorage('images').serve());
|
|
120
119
|
// Serve blog media using the storage adapter
|
|
121
|
-
siteApp.use(STATIC_MEDIA_URL_PREFIX,
|
|
120
|
+
siteApp.use(STATIC_MEDIA_URL_PREFIX, storage.getStorage('media').serve());
|
|
122
121
|
// Serve blog files using the storage adapter
|
|
123
|
-
siteApp.use(STATIC_FILES_URL_PREFIX,
|
|
122
|
+
siteApp.use(STATIC_FILES_URL_PREFIX, storage.getStorage('files').serve());
|
|
124
123
|
|
|
125
124
|
// Global handling for member session, ensures a member is logged in to the frontend
|
|
126
125
|
siteApp.use(membersService.middleware.loadMemberSession);
|
|
@@ -101,7 +101,7 @@ a {
|
|
|
101
101
|
}
|
|
102
102
|
</style>
|
|
103
103
|
</head>
|
|
104
|
-
<body
|
|
104
|
+
<body style="background-color: #ffffff; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.5em; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
|
|
105
105
|
|
|
106
106
|
<table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;">
|
|
107
107
|
<tr>
|
|
@@ -101,7 +101,7 @@ a {
|
|
|
101
101
|
}
|
|
102
102
|
</style>
|
|
103
103
|
</head>
|
|
104
|
-
<body
|
|
104
|
+
<body style="background-color: #ffffff; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.5em; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
|
|
105
105
|
|
|
106
106
|
<table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;">
|
|
107
107
|
<tr>
|
|
@@ -101,7 +101,7 @@ a {
|
|
|
101
101
|
}
|
|
102
102
|
</style>
|
|
103
103
|
</head>
|
|
104
|
-
<body
|
|
104
|
+
<body style="background-color: #ffffff; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.5em; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
|
|
105
105
|
|
|
106
106
|
<table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;">
|
|
107
107
|
<tr>
|
|
@@ -407,6 +407,10 @@ figure blockquote p {
|
|
|
407
407
|
text-decoration: underline;
|
|
408
408
|
}
|
|
409
409
|
|
|
410
|
+
a[data-flickr-embed] img {
|
|
411
|
+
height: auto;
|
|
412
|
+
}
|
|
413
|
+
|
|
410
414
|
.kg-bookmark-card {
|
|
411
415
|
width: 100%;
|
|
412
416
|
background: #ffffff;
|
|
@@ -638,6 +642,114 @@ figure blockquote p {
|
|
|
638
642
|
font-size: 20px;
|
|
639
643
|
}
|
|
640
644
|
|
|
645
|
+
.kg-header-card {
|
|
646
|
+
margin: 0 0 1.5em 0;
|
|
647
|
+
padding: 110px 35px 110px 35px;
|
|
648
|
+
text-align: center;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
.kg-header-card.kg-size-small {
|
|
652
|
+
padding-top: 75px;
|
|
653
|
+
padding-bottom: 75px;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
.kg-header-card.kg-size-large {
|
|
657
|
+
padding-top: 140px;
|
|
658
|
+
padding-bottom: 140px;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
.kg-header-card.kg-align-left {
|
|
662
|
+
text-align: left;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
.kg-header-card.kg-style-dark {
|
|
666
|
+
background: #15171a;
|
|
667
|
+
color: #ffffff;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
.kg-header-card.kg-style-light {
|
|
671
|
+
background-color: #F9F9FA;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
.kg-header-card.kg-style-accent {
|
|
675
|
+
background: ${templateSettings.accentColor || '#15171a'};
|
|
676
|
+
color: #ffffff;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
.kg-header-card.kg-style-image {
|
|
680
|
+
background-color: #e7e7eb;
|
|
681
|
+
background-size: cover;
|
|
682
|
+
background-position: center center;
|
|
683
|
+
color: #ffffff;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
.kg-header-card h2 {
|
|
687
|
+
font-size: 3em;
|
|
688
|
+
font-weight: 700;
|
|
689
|
+
line-height: 1.1em;
|
|
690
|
+
margin: 0 0 0.125em;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
.kg-header-card h2 strong {
|
|
694
|
+
font-weight: 800;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
.kg-header-card.kg-size-small h2 {
|
|
698
|
+
font-size: 2.5em;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
.kg-header-card.kg-size-large h2 {
|
|
702
|
+
font-size: 3.5em;
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
.kg-header-card h3 {
|
|
706
|
+
font-size: 1.125em;
|
|
707
|
+
font-weight: 500;
|
|
708
|
+
line-height: 1.3em;
|
|
709
|
+
margin: 0;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
.kg-header-card h3 strong {
|
|
713
|
+
font-weight: 600;
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
.kg-header-card.kg-size-large h3 {
|
|
717
|
+
font-size: 1.25em;
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
.kg-header-card.kg-size-small h3 {
|
|
721
|
+
font-size: 1em;
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
.kg-header-card-button {
|
|
725
|
+
margin-top: 1.75em;
|
|
726
|
+
background: #ffffff;
|
|
727
|
+
border-radius: 5px;
|
|
728
|
+
box-sizing: border-box;
|
|
729
|
+
cursor: pointer;
|
|
730
|
+
display: inline-block;
|
|
731
|
+
font-size: 14px;
|
|
732
|
+
font-weight: bold;
|
|
733
|
+
margin: 0;
|
|
734
|
+
padding: 8px 16px;
|
|
735
|
+
text-decoration: none !important;
|
|
736
|
+
color: #15171A !important;
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
.kg-size-large .kg-header-card-button {
|
|
740
|
+
margin-top: 2em;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
.kg-size-small .kg-header-card-button {
|
|
744
|
+
margin-top: 1.5em;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
.kg-style-light .kg-header-card-button {
|
|
748
|
+
background: ${templateSettings.accentColor || '#15212A'} !important;
|
|
749
|
+
color: #ffffff !important;
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
|
|
641
753
|
/* -------------------------------------
|
|
642
754
|
HEADER, FOOTER, MAIN
|
|
643
755
|
------------------------------------- */
|
|
@@ -998,12 +1110,10 @@ ${ templateSettings.showBadge ? `
|
|
|
998
1110
|
}
|
|
999
1111
|
` : ''}
|
|
1000
1112
|
|
|
1001
|
-
/* ----- ENDIF THE BROWSER ----- */
|
|
1002
|
-
|
|
1003
1113
|
</style>
|
|
1004
1114
|
</head>
|
|
1005
1115
|
|
|
1006
|
-
<body
|
|
1116
|
+
<body>
|
|
1007
1117
|
<span class="preheader">${ post.excerpt ? post.excerpt : `${post.title} – ` }</span>
|
|
1008
1118
|
<table role="presentation" border="0" cellpadding="0" cellspacing="0" class="body" width="100%">
|
|
1009
1119
|
|
|
@@ -99,7 +99,7 @@ module.exports = ({siteTitle, email, url, accentColor = '#15212A', siteDomain, s
|
|
|
99
99
|
}
|
|
100
100
|
</style>
|
|
101
101
|
</head>
|
|
102
|
-
<body
|
|
102
|
+
<body style="background-color: #ffffff; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.5em; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
|
|
103
103
|
<table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;">
|
|
104
104
|
<tr>
|
|
105
105
|
<td style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 14px; vertical-align: top;"> </td>
|
|
@@ -99,7 +99,7 @@ module.exports = ({siteTitle, email, url, accentColor = '#15212A', siteDomain, s
|
|
|
99
99
|
}
|
|
100
100
|
</style>
|
|
101
101
|
</head>
|
|
102
|
-
<body
|
|
102
|
+
<body style="background-color: #FFFFFF; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.5em; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
|
|
103
103
|
<table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; background-color: #FFFFFF;">
|
|
104
104
|
<tr>
|
|
105
105
|
<td style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 14px; vertical-align: top;"> </td>
|
|
@@ -99,7 +99,7 @@ module.exports = ({siteTitle, email, url, accentColor = '#15212A', siteDomain, s
|
|
|
99
99
|
}
|
|
100
100
|
</style>
|
|
101
101
|
</head>
|
|
102
|
-
<body
|
|
102
|
+
<body style="background-color: #FFFFFF; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.5em; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
|
|
103
103
|
<table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; background-color: #FFFFFF;">
|
|
104
104
|
<tr>
|
|
105
105
|
<td style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 14px; vertical-align: top;"> </td>
|
|
@@ -99,7 +99,7 @@ module.exports = ({siteTitle, email, url, accentColor = '#15212A', siteDomain, s
|
|
|
99
99
|
}
|
|
100
100
|
</style>
|
|
101
101
|
</head>
|
|
102
|
-
<body
|
|
102
|
+
<body style="background-color: #FFFFFF; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.4; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
|
|
103
103
|
<table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; background-color: #FFFFFF;">
|
|
104
104
|
<tr>
|
|
105
105
|
<td style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 14px; vertical-align: top;"> </td>
|
|
@@ -92,7 +92,7 @@ module.exports = ({email, url}) => `
|
|
|
92
92
|
}
|
|
93
93
|
</style>
|
|
94
94
|
</head>
|
|
95
|
-
<body
|
|
95
|
+
<body style="background-color: #F4F8FB; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.4; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
|
|
96
96
|
<table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; background-color: #F4F8FB;">
|
|
97
97
|
<tr>
|
|
98
98
|
<td style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 14px; vertical-align: top;"> </td>
|
|
@@ -175,6 +175,15 @@ const membersService = {
|
|
|
175
175
|
logging.error(err);
|
|
176
176
|
});
|
|
177
177
|
}
|
|
178
|
+
|
|
179
|
+
(async () => {
|
|
180
|
+
try {
|
|
181
|
+
const collection = await models.SingleUseToken.fetchAll();
|
|
182
|
+
await collection.invokeThen('destroy');
|
|
183
|
+
} catch (err) {
|
|
184
|
+
logging.error(err);
|
|
185
|
+
}
|
|
186
|
+
})();
|
|
178
187
|
},
|
|
179
188
|
contentGating: require('./content-gating'),
|
|
180
189
|
|