ghost 6.0.3 → 6.0.5
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-i18n-6.0.5.tgz +0 -0
- package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +1 -1
- package/core/built/admin/assets/admin-x-activitypub/{index-DzkhcDJy.mjs → index-DBxGycCG.mjs} +9263 -9215
- package/core/built/admin/assets/admin-x-activitypub/{index-BGpQ-bIj.mjs → index-Db9aLAi4.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{CodeEditorView-CFP3ZKm2.mjs → CodeEditorView-B4W7CQcA.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
- package/core/built/admin/assets/admin-x-settings/{index-qJnVka7B.mjs → index-CuwMM9FM.mjs} +6603 -6565
- package/core/built/admin/assets/admin-x-settings/{index-CNPz6XrY.mjs → index-jv9DN3ZO.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{modals-CZ910p4i.mjs → modals-CUGEPPYA.mjs} +6 -6
- package/core/built/admin/assets/{chunk.397.f965bec6bb556d2750de.js → chunk.397.1904882a4a78e2922f07.js} +2 -2
- package/core/built/admin/assets/{chunk.524.9820d2bf73b62bb7dba9.js → chunk.524.0e2bff9b664f925d7af7.js} +6 -6
- package/core/built/admin/assets/{chunk.582.0ed287001a73163b5634.js → chunk.582.a8f6c436bbec6f9ba678.js} +9 -9
- package/core/built/admin/assets/{ghost-dfaf1657ee466f4f397c27bbae0759bc.js → ghost-2b02de85a93ec9a5623180b373cece35.js} +10 -10
- package/core/built/admin/assets/{ghost-a0676bad4687584c2c1b3b6b8bed5b31.css → ghost-2c537ee89c36199137eafc1768fd7de8.css} +1 -1
- package/core/built/admin/assets/{ghost-dark-65295e8112b12fc9b301111e1c446c51.css → ghost-dark-ad23efc1d702e3643a8ee90d089df5d6.css} +1 -1
- package/core/built/admin/assets/posts/posts.js +19784 -19750
- package/core/built/admin/assets/stats/stats.js +20512 -20477
- package/core/built/admin/index.html +5 -5
- package/core/frontend/helpers/facebook_url.js +3 -0
- package/core/frontend/helpers/ghost_head.js +2 -1
- package/core/frontend/helpers/twitter_url.js +3 -0
- package/core/frontend/public/ghost-stats.min.js +1 -1
- package/core/frontend/public/member-attribution.min.js +1 -1
- package/core/frontend/src/ghost-stats/ghost-stats.js +1 -8
- package/core/frontend/src/member-attribution/member-attribution.js +4 -2
- package/core/frontend/web/middleware/error-handler.js +45 -7
- package/core/server/data/tinybird/README.md +38 -10
- package/core/server/services/koenig/node-renderers/header-v2-renderer.js +74 -4
- package/core/shared/config/defaults.json +2 -2
- package/core/shared/labs.js +2 -1
- package/ghost.js +0 -1
- package/package.json +9 -9
- package/tsconfig.tsbuildinfo +1 -1
- package/yarn.lock +909 -717
- package/components/tryghost-i18n-6.0.3.tgz +0 -0
- package/core/server/data/tinybird/DOCS.md +0 -423
- /package/core/built/admin/assets/{chunk.397.f965bec6bb556d2750de.js.LICENSE.txt → chunk.397.1904882a4a78e2922f07.js.LICENSE.txt} +0 -0
|
@@ -68,6 +68,73 @@ function cardTemplate(nodeData, options = {}) {
|
|
|
68
68
|
`;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
function generateMSOSplitHeaderImage(nodeData) {
|
|
72
|
+
const {backgroundSize, backgroundImageSrc, backgroundColor} = nodeData;
|
|
73
|
+
|
|
74
|
+
if (backgroundSize === 'contain') {
|
|
75
|
+
return `
|
|
76
|
+
<!--[if mso]>
|
|
77
|
+
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" stroke="false" style="width:600px;height:320px;">
|
|
78
|
+
<v:fill type="frame" aspect="atmost" size="225pt,120pt" src="${backgroundImageSrc}" color="${backgroundColor}" />
|
|
79
|
+
<v:textbox inset="0,0,0,0">
|
|
80
|
+
</v:textbox>
|
|
81
|
+
</v:rect>
|
|
82
|
+
<![endif]-->
|
|
83
|
+
`;
|
|
84
|
+
} else {
|
|
85
|
+
return `
|
|
86
|
+
<!--[if mso]>
|
|
87
|
+
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:600px;height:320px;">
|
|
88
|
+
<v:fill type="frame" aspect="atleast" src="${backgroundImageSrc}" color="${backgroundColor}" />
|
|
89
|
+
<v:textbox inset="0,0,0,0">
|
|
90
|
+
</v:textbox>
|
|
91
|
+
</v:rect>
|
|
92
|
+
<![endif]-->
|
|
93
|
+
`;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function generateMSOContentWrapper(nodeData) {
|
|
98
|
+
const {backgroundImageSrc, backgroundColor} = nodeData;
|
|
99
|
+
const hasContainAndSplit = nodeData.backgroundSize === 'contain' && nodeData.layout === 'split';
|
|
100
|
+
const hasImageWithoutSplit = nodeData.backgroundImageSrc && nodeData.layout !== 'split';
|
|
101
|
+
|
|
102
|
+
// Outlook clients will return the first td, all other clients will return the second td
|
|
103
|
+
const msoOpenTag = `
|
|
104
|
+
<!--[if mso]>
|
|
105
|
+
<td class="kg-header-card-content" style="${hasImageWithoutSplit ? 'padding: 0;' : 'padding: 40px;'}${hasContainAndSplit ? 'padding-top: 0;' : ''}">
|
|
106
|
+
<![endif]-->
|
|
107
|
+
<!--[if !mso]><!-->
|
|
108
|
+
<td class="kg-header-card-content" style="${hasContainAndSplit ? 'padding-top: 0;' : ''}">
|
|
109
|
+
<!--<![endif]-->
|
|
110
|
+
`;
|
|
111
|
+
|
|
112
|
+
const msoImageVML = hasImageWithoutSplit ? `
|
|
113
|
+
<!--[if mso]>
|
|
114
|
+
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:600px;">
|
|
115
|
+
<v:fill src="${backgroundImageSrc}" color="${backgroundColor}" type="frame" aspect="atleast" focusposition="0.5,0.5" />
|
|
116
|
+
<v:textbox inset="30pt,30pt,30pt,30pt" style="mso-fit-shape-to-text:true;">
|
|
117
|
+
<![endif]-->
|
|
118
|
+
` : '';
|
|
119
|
+
|
|
120
|
+
return msoOpenTag + msoImageVML;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function generateMSOContentClosing(nodeData) {
|
|
124
|
+
const hasImageWithoutSplit = nodeData.backgroundImageSrc && nodeData.layout !== 'split';
|
|
125
|
+
|
|
126
|
+
if (!hasImageWithoutSplit) {
|
|
127
|
+
return '';
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return `
|
|
131
|
+
<!--[if mso]>
|
|
132
|
+
</v:textbox>
|
|
133
|
+
</v:rect>
|
|
134
|
+
<![endif]-->
|
|
135
|
+
`;
|
|
136
|
+
}
|
|
137
|
+
|
|
71
138
|
function emailTemplate(nodeData, options) {
|
|
72
139
|
const backgroundAccent = nodeData.backgroundColor === 'accent' ? `background-color: ${nodeData.accentColor};` : '';
|
|
73
140
|
const alignment = nodeData.alignment === 'center' ? 'text-align: center;' : '';
|
|
@@ -88,17 +155,19 @@ function emailTemplate(nodeData, options) {
|
|
|
88
155
|
|
|
89
156
|
return (
|
|
90
157
|
`
|
|
91
|
-
<div class="kg-header-card kg-v2${hasDarkBg ? '
|
|
158
|
+
<div class="kg-header-card kg-v2 ${hasDarkBg ? 'kg-header-card-dark-bg' : 'kg-header-card-light-bg'}" style="color:${nodeData.textColor}; ${alignment} ${backgroundImageStyle} ${backgroundAccent}">
|
|
92
159
|
${nodeData.layout === 'split' && nodeData.backgroundImageSrc ? `
|
|
93
160
|
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
94
161
|
<tr>
|
|
95
|
-
<td background="${nodeData.backgroundImageSrc}" style="${splitImageStyle}" class="kg-header-card-image"
|
|
162
|
+
<td background="${nodeData.backgroundImageSrc}" style="${splitImageStyle}" class="kg-header-card-image" bgcolor="${nodeData.backgroundColor}" align="center">
|
|
163
|
+
${generateMSOSplitHeaderImage(nodeData) /* mso-only img, no shared markup */}
|
|
164
|
+
</td>
|
|
96
165
|
</tr>
|
|
97
166
|
</table>
|
|
98
167
|
` : ''}
|
|
99
168
|
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="color:${nodeData.textColor}; ${alignment} ${backgroundImageStyle} ${backgroundAccent}">
|
|
100
169
|
<tr>
|
|
101
|
-
|
|
170
|
+
${generateMSOContentWrapper(nodeData) /* creates correct opening td tag for any platform */}
|
|
102
171
|
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
103
172
|
<tr>
|
|
104
173
|
<td align="${nodeData.alignment}">
|
|
@@ -118,6 +187,7 @@ function emailTemplate(nodeData, options) {
|
|
|
118
187
|
` : ''}
|
|
119
188
|
</tr>
|
|
120
189
|
</table>
|
|
190
|
+
${generateMSOContentClosing(nodeData) /* mso-only closing tags, no shared markup */}
|
|
121
191
|
</td>
|
|
122
192
|
</tr>
|
|
123
193
|
</table>
|
|
@@ -209,4 +279,4 @@ function getCardClasses(nodeData) {
|
|
|
209
279
|
return cardClasses;
|
|
210
280
|
}
|
|
211
281
|
|
|
212
|
-
module.exports = renderHeaderNodeV2;
|
|
282
|
+
module.exports = renderHeaderNodeV2;
|
|
@@ -212,7 +212,7 @@
|
|
|
212
212
|
},
|
|
213
213
|
"portal": {
|
|
214
214
|
"url": "https://cdn.jsdelivr.net/ghost/portal@~{version}/umd/portal.min.js",
|
|
215
|
-
"version": "2.
|
|
215
|
+
"version": "2.52"
|
|
216
216
|
},
|
|
217
217
|
"sodoSearch": {
|
|
218
218
|
"url": "https://cdn.jsdelivr.net/ghost/sodo-search@~{version}/umd/sodo-search.min.js",
|
|
@@ -229,7 +229,7 @@
|
|
|
229
229
|
},
|
|
230
230
|
"signupForm": {
|
|
231
231
|
"url": "https://cdn.jsdelivr.net/ghost/signup-form@~{version}/umd/signup-form.min.js",
|
|
232
|
-
"version": "0.
|
|
232
|
+
"version": "0.3"
|
|
233
233
|
},
|
|
234
234
|
"tenor": {
|
|
235
235
|
"googleApiKey": null,
|
package/core/shared/labs.js
CHANGED
package/ghost.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ghost",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.5",
|
|
4
4
|
"description": "The professional publishing platform",
|
|
5
5
|
"author": "Ghost Foundation",
|
|
6
6
|
"homepage": "https://ghost.org",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@faker-js/faker": "7.6.0",
|
|
71
71
|
"@isaacs/ttlcache": "1.4.1",
|
|
72
72
|
"@sentry/node": "7.120.4",
|
|
73
|
-
"@slack/webhook": "7.0.
|
|
73
|
+
"@slack/webhook": "7.0.6",
|
|
74
74
|
"@tryghost/adapter-base-cache": "0.1.17",
|
|
75
75
|
"@tryghost/admin-api-schema": "4.5.10",
|
|
76
76
|
"@tryghost/api-framework": "1.0.2",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"@tryghost/helpers": "1.1.97",
|
|
87
87
|
"@tryghost/html-to-plaintext": "1.0.4",
|
|
88
88
|
"@tryghost/http-cache-utils": "0.1.20",
|
|
89
|
-
"@tryghost/i18n": "file:components/tryghost-i18n-6.0.
|
|
89
|
+
"@tryghost/i18n": "file:components/tryghost-i18n-6.0.5.tgz",
|
|
90
90
|
"@tryghost/image-transform": "1.4.6",
|
|
91
91
|
"@tryghost/job-manager": "1.0.3",
|
|
92
92
|
"@tryghost/kg-card-factory": "5.1.2",
|
|
@@ -161,12 +161,12 @@
|
|
|
161
161
|
"ghost-storage-base": "1.0.0",
|
|
162
162
|
"glob": "8.1.0",
|
|
163
163
|
"got": "11.8.6",
|
|
164
|
-
"gscan": "5.
|
|
164
|
+
"gscan": "5.1.0",
|
|
165
165
|
"handlebars": "4.7.8",
|
|
166
166
|
"heic-convert": "2.1.0",
|
|
167
167
|
"html-to-text": "5.1.1",
|
|
168
168
|
"html5parser": "2.0.2",
|
|
169
|
-
"human-number": "2.0.
|
|
169
|
+
"human-number": "2.0.5",
|
|
170
170
|
"iconv-lite": "0.6.3",
|
|
171
171
|
"image-size": "1.2.1",
|
|
172
172
|
"intl": "1.2.5",
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
"superagent-throttle": "1.0.1",
|
|
217
217
|
"terser": "5.43.1",
|
|
218
218
|
"tiny-glob": "0.2.9",
|
|
219
|
-
"ua-parser-js": "1.0.
|
|
219
|
+
"ua-parser-js": "1.0.41",
|
|
220
220
|
"xml": "1.0.1"
|
|
221
221
|
},
|
|
222
222
|
"optionalDependencies": {
|
|
@@ -232,9 +232,9 @@
|
|
|
232
232
|
"@types/bookshelf": "1.2.9",
|
|
233
233
|
"@types/common-tags": "1.8.4",
|
|
234
234
|
"@types/jsonwebtoken": "9.0.10",
|
|
235
|
-
"@types/node": "22.17.
|
|
235
|
+
"@types/node": "22.17.2",
|
|
236
236
|
"@types/node-jose": "1.1.13",
|
|
237
|
-
"@types/nodemailer": "6.4.
|
|
237
|
+
"@types/nodemailer": "6.4.19",
|
|
238
238
|
"@types/sinon": "17.0.4",
|
|
239
239
|
"@types/supertest": "6.0.3",
|
|
240
240
|
"c8": "10.1.3",
|
|
@@ -273,7 +273,7 @@
|
|
|
273
273
|
"jackspeak": "2.3.6",
|
|
274
274
|
"moment": "2.24.0",
|
|
275
275
|
"moment-timezone": "0.5.45",
|
|
276
|
-
"@tryghost/i18n": "file:components/tryghost-i18n-6.0.
|
|
276
|
+
"@tryghost/i18n": "file:components/tryghost-i18n-6.0.5.tgz"
|
|
277
277
|
},
|
|
278
278
|
"nx": {
|
|
279
279
|
"targets": {
|