ghost 6.10.0 → 6.10.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.
@@ -63691,7 +63691,14 @@ const Aq0 = (e) => {
63691
63691
  return t <= 0 ? a <= 0 ? `${o}s` : `${a}m ${o}s` : `${t}h ${a}m ${o}s`;
63692
63692
  }, q3 = (e) => {
63693
63693
  const t = e * 100;
63694
- return t === 0 ? "0%" : t < 0.1 ? `${t.toFixed(2)}%` : t < 1 ? `${t.toFixed(1)}%` : `${Math.round(t)}%`;
63694
+ if (t === 0)
63695
+ return "0%";
63696
+ if (t < 0.1)
63697
+ return `${t.toFixed(2)}%`;
63698
+ if (t < 1)
63699
+ return `${t.toFixed(1)}%`;
63700
+ const a = Math.round(t);
63701
+ return `${new Intl.NumberFormat("en-US").format(a)}%`;
63695
63702
  }, P8 = (e) => Math.round(e / 100), k60 = (e) => {
63696
63703
  if (!e.length)
63697
63704
  return { min: 0, max: 1 };
@@ -128662,6 +128669,7 @@ function ov2({ filters: e, utmTrackingEnabled: t = !1, onChange: a, ...o }) {
128662
128669
  {
128663
128670
  addButtonIcon: /* @__PURE__ */ A.jsx(Lm, {}),
128664
128671
  addButtonText: O ? "Add filter" : "Filter",
128672
+ allowMultiple: !1,
128665
128673
  className: `[&>button]:order-last ${O && "[&>button]:border-none"}`,
128666
128674
  fields: v,
128667
128675
  filters: e,
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <link rel="stylesheet" href="/ghost/assets/vendor-0ede59da8efb5e28fa929557f7ff7154.css">
5
5
  <link rel="stylesheet" href="/ghost/assets/ghost-192beb3c8f2f6e58b70d3aade481ae15.css">
6
- <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22cdnUrl%22%3A%22%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%226.10%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%2237bd1e3e4d%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%221dbc577ef5%22%2C%22activitypubFilename%22%3A%22activitypub.js%22%2C%22activitypubHash%22%3A%221a1230ec37%22%2C%22postsFilename%22%3A%22posts.js%22%2C%22postsHash%22%3A%2216c4723cdc%22%2C%22statsFilename%22%3A%22stats.js%22%2C%22statsHash%22%3A%229f7d448437%22%2C%22activitypubRemoteConfigUrl%22%3A%22%2F.ghost%2Factivitypub%2Fstable%2Fclient-config%22%7D">
6
+ <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22cdnUrl%22%3A%22%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%226.10%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%2237bd1e3e4d%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%221dbc577ef5%22%2C%22activitypubFilename%22%3A%22activitypub.js%22%2C%22activitypubHash%22%3A%221a1230ec37%22%2C%22postsFilename%22%3A%22posts.js%22%2C%22postsHash%22%3A%2228a09d1d45%22%2C%22statsFilename%22%3A%22stats.js%22%2C%22statsHash%22%3A%22e56f10be81%22%2C%22activitypubRemoteConfigUrl%22%3A%22%2F.ghost%2Factivitypub%2Fstable%2Fclient-config%22%7D">
7
7
 
8
8
  <meta charset="UTF-8" />
9
9
 
@@ -17,7 +17,7 @@
17
17
  <meta name="apple-mobile-web-app-title" content="Ghost" />
18
18
  <meta name="apple-mobile-web-app-capable" content="yes" />
19
19
  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
20
- <script type="module" crossorigin src="/ghost/assets/index-CPcmd2_W.js"></script>
20
+ <script type="module" crossorigin src="/ghost/assets/index-DVmEWo2g.js"></script>
21
21
  <link rel="stylesheet" crossorigin href="/ghost/assets/index-BZufz8fm.css">
22
22
  </head>
23
23
  <body class="react-admin">
@@ -36,7 +36,7 @@
36
36
  <div id="ember-modal-wormhole"></div>
37
37
  <script src="/ghost/assets/vendor-aed0068cf9b67d042dd23a6343545b7b.js"></script>
38
38
  <script src="/ghost/assets/chunk.397.a720333cfffc99c47e71.js"></script>
39
- <script src="/ghost/assets/chunk.524.708d129c7c4a327ba326.js"></script>
39
+ <script src="/ghost/assets/chunk.524.66c2b8aaa85914aa68c6.js"></script>
40
40
  <script src="/ghost/assets/ghost-5fe02277b07bec6825ee7a4fc806b284.js"></script>
41
41
  </body>
42
42
  </html>
@@ -6,7 +6,7 @@
6
6
  <title>Ghost</title>
7
7
 
8
8
 
9
- <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22cdnUrl%22%3A%22%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%226.10%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%2237bd1e3e4d%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%221dbc577ef5%22%2C%22activitypubFilename%22%3A%22activitypub.js%22%2C%22activitypubHash%22%3A%221a1230ec37%22%2C%22postsFilename%22%3A%22posts.js%22%2C%22postsHash%22%3A%2216c4723cdc%22%2C%22statsFilename%22%3A%22stats.js%22%2C%22statsHash%22%3A%229f7d448437%22%2C%22activitypubRemoteConfigUrl%22%3A%22%2F.ghost%2Factivitypub%2Fstable%2Fclient-config%22%7D" />
9
+ <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22cdnUrl%22%3A%22%22%2C%22editorUrl%22%3A%22%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%226.10%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%2237bd1e3e4d%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%221dbc577ef5%22%2C%22activitypubFilename%22%3A%22activitypub.js%22%2C%22activitypubHash%22%3A%221a1230ec37%22%2C%22postsFilename%22%3A%22posts.js%22%2C%22postsHash%22%3A%2228a09d1d45%22%2C%22statsFilename%22%3A%22stats.js%22%2C%22statsHash%22%3A%22e56f10be81%22%2C%22activitypubRemoteConfigUrl%22%3A%22%2F.ghost%2Factivitypub%2Fstable%2Fclient-config%22%7D" />
10
10
 
11
11
  <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1, minimal-ui, viewport-fit=cover" />
12
12
  <meta name="pinterest" content="nopin" />
@@ -49,7 +49,7 @@
49
49
 
50
50
  <script src="assets/vendor-aed0068cf9b67d042dd23a6343545b7b.js"></script>
51
51
  <script src="assets/chunk.397.a720333cfffc99c47e71.js"></script>
52
- <script src="assets/chunk.524.708d129c7c4a327ba326.js"></script>
52
+ <script src="assets/chunk.524.66c2b8aaa85914aa68c6.js"></script>
53
53
  <script src="assets/ghost-5fe02277b07bec6825ee7a4fc806b284.js"></script>
54
54
  </body>
55
55
  </html>
@@ -253,8 +253,13 @@ class S3Storage extends ghost_storage_base_1.default {
253
253
  }
254
254
  }
255
255
  serve() {
256
- return function (_req, _res, next) {
257
- next();
256
+ return (req, res, next) => {
257
+ const relativePath = req.path.replace(/^\/+/, '');
258
+ if (!relativePath) {
259
+ return next();
260
+ }
261
+ const key = this.buildKey(relativePath);
262
+ return res.redirect(301, `${this.cdnUrl}/${key}`);
258
263
  };
259
264
  }
260
265
  async delete(fileName, targetDir) {
@@ -1,5 +1,6 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
+ import type {Request, Response, NextFunction, RequestHandler} from 'express';
3
4
  import StorageBase from 'ghost-storage-base';
4
5
  import tpl from '@tryghost/tpl';
5
6
  import errors from '@tryghost/errors';
@@ -334,9 +335,16 @@ export default class S3Storage extends StorageBase {
334
335
  }
335
336
  }
336
337
 
337
- serve() {
338
- return function (_req: unknown, _res: unknown, next: (err?: unknown) => void) {
339
- next();
338
+ serve(): RequestHandler {
339
+ return (req: Request, res: Response, next: NextFunction) => {
340
+ const relativePath = req.path.replace(/^\/+/, '');
341
+
342
+ if (!relativePath) {
343
+ return next();
344
+ }
345
+
346
+ const key = this.buildKey(relativePath);
347
+ return res.redirect(301, `${this.cdnUrl}/${key}`);
340
348
  };
341
349
  }
342
350
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "6.10.0",
3
+ "version": "6.10.2",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -83,7 +83,7 @@
83
83
  "@tryghost/helpers": "1.1.97",
84
84
  "@tryghost/html-to-plaintext": "1.0.4",
85
85
  "@tryghost/http-cache-utils": "0.1.20",
86
- "@tryghost/i18n": "file:components/tryghost-i18n-6.10.0.tgz",
86
+ "@tryghost/i18n": "file:components/tryghost-i18n-6.10.2.tgz",
87
87
  "@tryghost/image-transform": "1.4.6",
88
88
  "@tryghost/job-manager": "1.0.3",
89
89
  "@tryghost/kg-card-factory": "5.1.2",
@@ -270,7 +270,7 @@
270
270
  "jackspeak": "2.3.6",
271
271
  "moment": "2.24.0",
272
272
  "moment-timezone": "0.5.45",
273
- "@tryghost/i18n": "file:components/tryghost-i18n-6.10.0.tgz"
273
+ "@tryghost/i18n": "file:components/tryghost-i18n-6.10.2.tgz"
274
274
  },
275
275
  "nx": {
276
276
  "targets": {