ghost 4.21.0 → 4.22.3
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/.eslintrc.js +6 -0
- package/Gruntfile.js +2 -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 +263 -50
- package/content/themes/casper/default.hbs +12 -3
- package/content/themes/casper/index.hbs +25 -23
- package/content/themes/casper/package.json +91 -2
- package/content/themes/casper/partials/post-card.hbs +1 -1
- package/content/themes/casper/post.hbs +18 -14
- package/content/themes/casper/yarn.lock +245 -192
- package/core/boot.js +8 -0
- package/core/bridge.js +14 -0
- package/core/built/assets/{chunk.3.065ee3c3bdf674bd81a4.js → chunk.3.324fd0cc598c73650219.js} +59 -59
- package/core/built/assets/{ghost-dark-1328db4a7dd128305646305a8731bcfe.css → ghost-dark-39fb496d051565531062d7e047d1c0b1.css} +1 -1
- package/core/built/assets/{ghost.min-5abc69c04ad1d5301a857e01009b9c05.css → ghost.min-4207edfc1ae0a3f9f6505ca00d20b0c0.css} +1 -1
- package/core/built/assets/{ghost.min-6c546c322127ae6d1d1b0ddbf34be75b.js → ghost.min-7da921f6c6cac3fe10da1ba104575440.js} +1775 -1897
- package/core/built/assets/{vendor.min-c6ef90bfd7eff256e10b85583bfe9a74.js → vendor.min-413f887176a041e6dbf88214ca9a7481.js} +6849 -6688
- package/core/frontend/helpers/asset.js +9 -1
- package/core/frontend/helpers/ghost_head.js +13 -1
- package/core/frontend/services/card-assets/index.js +16 -0
- package/core/frontend/services/card-assets/service.js +109 -0
- package/core/frontend/services/theme-engine/config/defaults.json +4 -1
- package/core/frontend/services/theme-engine/config/index.js +1 -1
- package/core/frontend/src/cards/css/bookmark.css +83 -0
- package/core/frontend/src/cards/css/button.css +30 -0
- package/core/frontend/src/cards/css/callout.css +12 -0
- package/core/frontend/src/cards/css/gallery.css +36 -0
- package/core/frontend/src/cards/css/nft.css +85 -0
- package/core/frontend/src/cards/js/gallery.js +8 -0
- package/core/frontend/web/middleware/serve-public-file.js +10 -1
- package/core/frontend/web/routes.js +0 -1
- package/core/frontend/web/site.js +13 -9
- package/core/server/adapters/storage/LocalFilesStorage.js +17 -0
- package/core/server/adapters/storage/LocalImagesStorage.js +51 -0
- package/core/server/adapters/storage/LocalMediaStorage.js +24 -0
- package/core/server/adapters/storage/{LocalFileStorage.js → LocalStorageBase.js} +64 -51
- package/core/server/adapters/storage/index.js +1 -1
- package/core/server/adapters/storage/utils.js +2 -2
- package/core/server/api/canary/files.js +19 -0
- package/core/server/api/canary/index.js +8 -0
- package/core/server/api/canary/media.js +42 -0
- package/core/server/api/canary/oembed.js +3 -0
- package/core/server/api/canary/redirects.js +1 -6
- package/core/server/api/canary/utils/serializers/input/index.js +4 -0
- package/core/server/api/canary/utils/serializers/input/media.js +8 -0
- package/core/server/api/canary/utils/serializers/input/pages.js +8 -0
- package/core/server/api/canary/utils/serializers/output/config.js +21 -14
- package/core/server/api/canary/utils/serializers/output/files.js +27 -0
- package/core/server/api/canary/utils/serializers/output/index.js +8 -0
- package/core/server/api/canary/utils/serializers/output/media.js +37 -0
- package/core/server/api/canary/utils/validators/input/files.js +7 -0
- package/core/server/api/canary/utils/validators/input/index.js +8 -0
- package/core/server/api/canary/utils/validators/input/media.js +11 -0
- package/core/server/api/v2/redirects.js +1 -6
- package/core/server/api/v3/members.js +5 -1
- package/core/server/api/v3/redirects.js +1 -6
- package/core/server/data/migrations/utils.js +55 -16
- package/core/server/data/migrations/versions/4.22/01-add-is-launch-complete-setting.js +8 -0
- package/core/server/data/migrations/versions/4.22/02-update-launch-complete-setting-from-user-data.js +39 -0
- package/core/server/data/schema/default-settings.json +8 -0
- package/core/server/frontend/ghost.min.css +1 -1
- package/core/server/lib/image/blog-icon.js +2 -4
- package/core/server/lib/image/image-size.js +1 -1
- package/core/server/services/limits.js +3 -6
- package/core/server/services/mega/template.js +62 -1
- package/core/server/services/nft-oembed.js +71 -0
- package/core/server/services/oembed.js +145 -110
- package/core/server/services/offers/service.js +1 -31
- package/core/server/services/public-config/config.js +2 -1
- package/core/server/services/redirects/api.js +270 -0
- package/core/server/services/redirects/index.js +27 -12
- package/core/server/services/stripe/index.js +4 -2
- package/core/server/services/themes/ThemeStorage.js +5 -5
- package/core/server/services/url/Resource.js +1 -1
- package/core/server/services/url/Resources.js +28 -21
- package/core/server/services/url/UrlService.js +66 -8
- package/core/server/services/url/Urls.js +7 -2
- package/core/server/services/url/index.js +8 -1
- package/core/server/web/admin/views/default-prod.html +4 -4
- package/core/server/web/admin/views/default.html +4 -4
- package/core/server/web/api/canary/admin/routes.js +28 -4
- package/core/server/web/api/middleware/cors.js +7 -7
- package/core/server/web/api/middleware/upload.js +117 -10
- package/core/server/web/members/app.js +1 -1
- package/core/server/web/shared/middlewares/index.js +0 -4
- package/core/shared/config/defaults.json +5 -1
- package/core/shared/config/helpers.js +4 -0
- package/core/shared/config/overrides.json +8 -0
- package/core/shared/labs.js +12 -3
- package/package.json +28 -27
- package/urls.json +597 -0
- package/yarn.lock +972 -941
- package/core/built/assets/img/themes/Editorial-a25a4a34c04dedd858bd5e05ef388b1c.jpg +0 -0
- package/core/built/assets/img/themes/Massively-06edf00108429f7fb8e65f190fba34fe.jpg +0 -0
- package/core/server/services/redirects/settings.js +0 -234
- package/core/server/web/shared/middlewares/custom-redirects.js +0 -128
|
@@ -23,7 +23,11 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"storage": {
|
|
26
|
-
"active": "
|
|
26
|
+
"active": "LocalImagesStorage",
|
|
27
|
+
"media": "LocalMediaStorage",
|
|
28
|
+
"files": "LocalFilesStorage",
|
|
29
|
+
"LocalMediaStorage": {},
|
|
30
|
+
"LocalFilesStorage": {}
|
|
27
31
|
},
|
|
28
32
|
"scheduling": {
|
|
29
33
|
"active": "SchedulingDefault"
|
|
@@ -32,6 +32,10 @@ const getContentPath = function getContentPath(type) {
|
|
|
32
32
|
switch (type) {
|
|
33
33
|
case 'images':
|
|
34
34
|
return path.join(this.get('paths:contentPath'), 'images/');
|
|
35
|
+
case 'media':
|
|
36
|
+
return path.join(this.get('paths:contentPath'), 'media/');
|
|
37
|
+
case 'files':
|
|
38
|
+
return path.join(this.get('paths:contentPath'), 'files/');
|
|
35
39
|
case 'themes':
|
|
36
40
|
return path.join(this.get('paths:contentPath'), 'themes/');
|
|
37
41
|
case 'adapters':
|
|
@@ -30,6 +30,14 @@
|
|
|
30
30
|
"extensions": [".jpg", ".jpeg", ".gif", ".png", ".svg", ".svgz", ".ico", ".webp"],
|
|
31
31
|
"contentTypes": ["image/jpeg", "image/png", "image/gif", "image/svg+xml", "image/x-icon", "image/vnd.microsoft.icon", "image/webp"]
|
|
32
32
|
},
|
|
33
|
+
"media": {
|
|
34
|
+
"extensions": [".mp4",".webm", ".ogv", ".mp3", ".wav", ".ogg"],
|
|
35
|
+
"contentTypes": ["video/mp4", "video/webm", "video/ogg", "audio/mpeg", "audio/vnd.wav", "audio/ogg"]
|
|
36
|
+
},
|
|
37
|
+
"thumbnails": {
|
|
38
|
+
"extensions": [".jpg", ".jpeg", ".gif", ".png", ".svg", ".svgz", ".ico", ".webp"],
|
|
39
|
+
"contentTypes": ["image/jpeg", "image/png", "image/gif", "image/svg+xml", "image/x-icon", "image/vnd.microsoft.icon", "image/webp"]
|
|
40
|
+
},
|
|
33
41
|
"icons": {
|
|
34
42
|
"extensions": [".png", ".ico"],
|
|
35
43
|
"contentTypes": ["image/png", "image/x-icon", "image/vnd.microsoft.icon"]
|
package/core/shared/labs.js
CHANGED
|
@@ -15,8 +15,7 @@ const messages = {
|
|
|
15
15
|
|
|
16
16
|
// flags in this list always return `true`, allows quick global enable prior to full flag removal
|
|
17
17
|
const GA_FEATURES = [
|
|
18
|
-
'customThemeSettings'
|
|
19
|
-
'offers'
|
|
18
|
+
'customThemeSettings'
|
|
20
19
|
];
|
|
21
20
|
|
|
22
21
|
// NOTE: this allowlist is meant to be used to filter out any unexpected
|
|
@@ -28,7 +27,17 @@ const BETA_FEATURES = [
|
|
|
28
27
|
|
|
29
28
|
const ALPHA_FEATURES = [
|
|
30
29
|
'oauthLogin',
|
|
31
|
-
'membersActivity'
|
|
30
|
+
'membersActivity',
|
|
31
|
+
'cardSettingsPanel',
|
|
32
|
+
'urlCache',
|
|
33
|
+
'mediaAPI',
|
|
34
|
+
'filesAPI',
|
|
35
|
+
'membersAutoLogin',
|
|
36
|
+
'buttonCard',
|
|
37
|
+
'calloutCard',
|
|
38
|
+
'nftCard',
|
|
39
|
+
'accordionCard',
|
|
40
|
+
'gifsCard'
|
|
32
41
|
];
|
|
33
42
|
|
|
34
43
|
module.exports.GA_KEYS = [...GA_FEATURES];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ghost",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.22.3",
|
|
4
4
|
"description": "The professional publishing platform",
|
|
5
5
|
"author": "Ghost Foundation",
|
|
6
6
|
"homepage": "https://ghost.org",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"test:int:slow": "yarn test:integration --reporter=mocha-slow-test-reporter",
|
|
38
38
|
"test:e2e:slow": "yarn test:e2e --reporter=mocha-slow-test-reporter",
|
|
39
39
|
"test:reg:slow": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/regression' --timeout=60000 --reporter=mocha-slow-test-reporter",
|
|
40
|
-
"cov:unit": "c8 report --all -n 'core/{*.js,frontend,server,shared}' --reporter text --reporter html",
|
|
40
|
+
"cov:unit": "c8 report --all -n 'core/{*.js,frontend,server,shared}' -x 'core/frontend/public' --reporter text --reporter html",
|
|
41
41
|
"lint:server": "eslint --ignore-path .eslintignore 'core/server/**/*.js' 'core/*.js' '*.js'",
|
|
42
42
|
"lint:shared": "eslint --ignore-path .eslintignore 'core/shared/**/*.js'",
|
|
43
43
|
"lint:frontend": "eslint --ignore-path .eslintignore 'core/frontend/**/*.js'",
|
|
@@ -54,37 +54,38 @@
|
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@nexes/nql": "0.6.0",
|
|
57
|
-
"@sentry/node": "6.
|
|
57
|
+
"@sentry/node": "6.14.3",
|
|
58
58
|
"@tryghost/adapter-manager": "0.2.18",
|
|
59
|
-
"@tryghost/admin-api-schema": "2.6.
|
|
59
|
+
"@tryghost/admin-api-schema": "2.6.1",
|
|
60
60
|
"@tryghost/bookshelf-plugins": "0.3.4",
|
|
61
61
|
"@tryghost/bootstrap-socket": "0.2.13",
|
|
62
|
-
"@tryghost/color-utils": "0.1.
|
|
62
|
+
"@tryghost/color-utils": "0.1.4",
|
|
63
63
|
"@tryghost/config-url-helpers": "0.1.3",
|
|
64
|
-
"@tryghost/constants": "0.
|
|
64
|
+
"@tryghost/constants": "1.0.0",
|
|
65
65
|
"@tryghost/custom-theme-settings-service": "0.3.1",
|
|
66
66
|
"@tryghost/debug": "0.1.9",
|
|
67
67
|
"@tryghost/email-analytics-provider-mailgun": "1.0.5",
|
|
68
68
|
"@tryghost/email-analytics-service": "1.0.4",
|
|
69
69
|
"@tryghost/errors": "0.2.17",
|
|
70
70
|
"@tryghost/express-dynamic-redirects": "0.2.1",
|
|
71
|
-
"@tryghost/helpers": "1.1.
|
|
72
|
-
"@tryghost/image-transform": "1.0.
|
|
73
|
-
"@tryghost/job-manager": "0.8.
|
|
71
|
+
"@tryghost/helpers": "1.1.53",
|
|
72
|
+
"@tryghost/image-transform": "1.0.18",
|
|
73
|
+
"@tryghost/job-manager": "0.8.12",
|
|
74
74
|
"@tryghost/kg-card-factory": "3.1.0",
|
|
75
75
|
"@tryghost/kg-default-atoms": "3.1.0",
|
|
76
|
-
"@tryghost/kg-default-cards": "5.1
|
|
76
|
+
"@tryghost/kg-default-cards": "5.5.1",
|
|
77
77
|
"@tryghost/kg-markdown-html-renderer": "5.1.0",
|
|
78
78
|
"@tryghost/kg-mobiledoc-html-renderer": "5.2.0",
|
|
79
|
-
"@tryghost/limit-service": "0.
|
|
79
|
+
"@tryghost/limit-service": "1.0.0",
|
|
80
80
|
"@tryghost/logging": "1.0.0",
|
|
81
81
|
"@tryghost/magic-link": "1.0.14",
|
|
82
|
-
"@tryghost/members-api": "2.
|
|
82
|
+
"@tryghost/members-api": "2.7.4",
|
|
83
83
|
"@tryghost/members-csv": "1.1.8",
|
|
84
84
|
"@tryghost/members-importer": "0.3.4",
|
|
85
|
-
"@tryghost/members-offers": "0.10.
|
|
85
|
+
"@tryghost/members-offers": "0.10.2",
|
|
86
86
|
"@tryghost/members-ssr": "1.0.15",
|
|
87
|
-
"@tryghost/metrics": "0.
|
|
87
|
+
"@tryghost/metrics": "1.0.0",
|
|
88
|
+
"@tryghost/minifier": "0.1.0",
|
|
88
89
|
"@tryghost/mw-session-from-token": "0.1.26",
|
|
89
90
|
"@tryghost/nodemailer": "0.3.6",
|
|
90
91
|
"@tryghost/package-json": "1.0.6",
|
|
@@ -93,11 +94,11 @@
|
|
|
93
94
|
"@tryghost/root-utils": "0.3.7",
|
|
94
95
|
"@tryghost/security": "0.2.13",
|
|
95
96
|
"@tryghost/session-service": "0.1.28",
|
|
96
|
-
"@tryghost/social-urls": "0.1.
|
|
97
|
-
"@tryghost/string": "0.1.
|
|
97
|
+
"@tryghost/social-urls": "0.1.27",
|
|
98
|
+
"@tryghost/string": "0.1.21",
|
|
98
99
|
"@tryghost/tpl": "0.1.8",
|
|
99
100
|
"@tryghost/update-check-service": "0.2.5",
|
|
100
|
-
"@tryghost/url-utils": "2.0.
|
|
101
|
+
"@tryghost/url-utils": "2.0.3",
|
|
101
102
|
"@tryghost/validator": "0.1.8",
|
|
102
103
|
"@tryghost/version": "0.1.7",
|
|
103
104
|
"@tryghost/vhost-middleware": "1.0.19",
|
|
@@ -125,10 +126,10 @@
|
|
|
125
126
|
"express-query-boolean": "2.0.0",
|
|
126
127
|
"express-session": "1.17.2",
|
|
127
128
|
"fs-extra": "10.0.0",
|
|
128
|
-
"ghost-storage-base": "0.0
|
|
129
|
+
"ghost-storage-base": "1.0.0",
|
|
129
130
|
"glob": "7.2.0",
|
|
130
131
|
"got": "9.6.0",
|
|
131
|
-
"gscan": "4.10.
|
|
132
|
+
"gscan": "4.10.1",
|
|
132
133
|
"html-to-text": "5.1.1",
|
|
133
134
|
"image-size": "1.0.0",
|
|
134
135
|
"intl": "1.2.5",
|
|
@@ -139,9 +140,9 @@
|
|
|
139
140
|
"juice": "8.0.0",
|
|
140
141
|
"keypair": "1.0.4",
|
|
141
142
|
"knex": "0.21.21",
|
|
142
|
-
"knex-migrator": "4.1.
|
|
143
|
+
"knex-migrator": "4.1.1",
|
|
143
144
|
"lodash": "4.17.21",
|
|
144
|
-
"luxon": "2.
|
|
145
|
+
"luxon": "2.1.1",
|
|
145
146
|
"mailgun-js": "0.22.0",
|
|
146
147
|
"metascraper": "5.25.0",
|
|
147
148
|
"metascraper-author": "5.25.0",
|
|
@@ -158,13 +159,13 @@
|
|
|
158
159
|
"mysql": "2.18.1",
|
|
159
160
|
"nconf": "0.11.3",
|
|
160
161
|
"node-jose": "2.0.0",
|
|
161
|
-
"oembed-parser": "1.
|
|
162
|
+
"oembed-parser": "1.5.2",
|
|
162
163
|
"passport": "0.5.0",
|
|
163
164
|
"passport-google-oauth": "2.0.0",
|
|
164
165
|
"path-match": "1.2.4",
|
|
165
166
|
"probe-image-size": "5.0.0",
|
|
166
167
|
"rss": "1.2.2",
|
|
167
|
-
"sanitize-html": "2.5.
|
|
168
|
+
"sanitize-html": "2.5.3",
|
|
168
169
|
"semver": "7.3.5",
|
|
169
170
|
"stoppable": "1.1.0",
|
|
170
171
|
"tough-cookie": "4.0.0",
|
|
@@ -172,14 +173,14 @@
|
|
|
172
173
|
"xml": "1.0.1"
|
|
173
174
|
},
|
|
174
175
|
"optionalDependencies": {
|
|
175
|
-
"@tryghost/html-to-mobiledoc": "
|
|
176
|
+
"@tryghost/html-to-mobiledoc": "1.2.2",
|
|
176
177
|
"sqlite3": "5.0.2"
|
|
177
178
|
},
|
|
178
179
|
"devDependencies": {
|
|
179
|
-
"@lodder/grunt-postcss": "3.1.
|
|
180
|
+
"@lodder/grunt-postcss": "3.1.1",
|
|
180
181
|
"c8": "7.10.0",
|
|
181
182
|
"coffeescript": "2.6.1",
|
|
182
|
-
"cssnano": "5.0.
|
|
183
|
+
"cssnano": "5.0.10",
|
|
183
184
|
"eslint": "7.32.0",
|
|
184
185
|
"eslint-plugin-ghost": "2.7.0",
|
|
185
186
|
"grunt": "1.4.1",
|
|
@@ -197,7 +198,7 @@
|
|
|
197
198
|
"mocha": "9.1.3",
|
|
198
199
|
"mocha-slow-test-reporter": "0.1.2",
|
|
199
200
|
"mock-knex": "0.4.10",
|
|
200
|
-
"nock": "13.1
|
|
201
|
+
"nock": "13.2.1",
|
|
201
202
|
"papaparse": "5.3.1",
|
|
202
203
|
"postcss": "8.3.11",
|
|
203
204
|
"rewire": "5.0.0",
|