ghost 5.42.1 → 5.42.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-cache-memory-ttl-5.42.1.tgz → tryghost-adapter-cache-memory-ttl-5.42.2.tgz} +0 -0
- package/components/tryghost-adapter-cache-redis-5.42.2.tgz +0 -0
- package/components/{tryghost-adapter-manager-5.42.1.tgz → tryghost-adapter-manager-5.42.2.tgz} +0 -0
- package/components/tryghost-api-framework-5.42.2.tgz +0 -0
- package/components/{tryghost-api-version-compatibility-service-5.42.1.tgz → tryghost-api-version-compatibility-service-5.42.2.tgz} +0 -0
- package/components/{tryghost-audience-feedback-5.42.1.tgz → tryghost-audience-feedback-5.42.2.tgz} +0 -0
- package/components/tryghost-bootstrap-socket-5.42.2.tgz +0 -0
- package/components/{tryghost-constants-5.42.1.tgz → tryghost-constants-5.42.2.tgz} +0 -0
- package/components/{tryghost-custom-theme-settings-service-5.42.1.tgz → tryghost-custom-theme-settings-service-5.42.2.tgz} +0 -0
- package/components/{tryghost-data-generator-5.42.1.tgz → tryghost-data-generator-5.42.2.tgz} +0 -0
- package/components/tryghost-domain-events-5.42.2.tgz +0 -0
- package/components/tryghost-dynamic-routing-events-5.42.2.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.42.2.tgz +0 -0
- package/components/tryghost-email-analytics-service-5.42.2.tgz +0 -0
- package/components/tryghost-email-content-generator-5.42.2.tgz +0 -0
- package/components/{tryghost-email-events-5.42.1.tgz → tryghost-email-events-5.42.2.tgz} +0 -0
- package/components/tryghost-email-service-5.42.2.tgz +0 -0
- package/components/{tryghost-email-suppression-list-5.42.1.tgz → tryghost-email-suppression-list-5.42.2.tgz} +0 -0
- package/components/{tryghost-event-aware-cache-wrapper-5.42.1.tgz → tryghost-event-aware-cache-wrapper-5.42.2.tgz} +0 -0
- package/components/{tryghost-express-dynamic-redirects-5.42.1.tgz → tryghost-express-dynamic-redirects-5.42.2.tgz} +0 -0
- package/components/{tryghost-external-media-inliner-5.42.1.tgz → tryghost-external-media-inliner-5.42.2.tgz} +0 -0
- package/components/tryghost-extract-api-key-5.42.2.tgz +0 -0
- package/components/tryghost-html-to-plaintext-5.42.2.tgz +0 -0
- package/components/tryghost-i18n-5.42.2.tgz +0 -0
- package/components/{tryghost-importer-handler-content-files-5.42.1.tgz → tryghost-importer-handler-content-files-5.42.2.tgz} +0 -0
- package/components/{tryghost-importer-revue-5.42.1.tgz → tryghost-importer-revue-5.42.2.tgz} +0 -0
- package/components/{tryghost-job-manager-5.42.1.tgz → tryghost-job-manager-5.42.2.tgz} +0 -0
- package/components/{tryghost-link-redirects-5.42.1.tgz → tryghost-link-redirects-5.42.2.tgz} +0 -0
- package/components/tryghost-link-replacer-5.42.2.tgz +0 -0
- package/components/{tryghost-link-tracking-5.42.1.tgz → tryghost-link-tracking-5.42.2.tgz} +0 -0
- package/components/tryghost-magic-link-5.42.2.tgz +0 -0
- package/components/tryghost-mailgun-client-5.42.2.tgz +0 -0
- package/components/tryghost-member-attribution-5.42.2.tgz +0 -0
- package/components/{tryghost-member-events-5.42.1.tgz → tryghost-member-events-5.42.2.tgz} +0 -0
- package/components/{tryghost-members-api-5.42.1.tgz → tryghost-members-api-5.42.2.tgz} +0 -0
- package/components/tryghost-members-csv-5.42.2.tgz +0 -0
- package/components/{tryghost-members-events-service-5.42.1.tgz → tryghost-members-events-service-5.42.2.tgz} +0 -0
- package/components/tryghost-members-importer-5.42.2.tgz +0 -0
- package/components/tryghost-members-offers-5.42.2.tgz +0 -0
- package/components/{tryghost-members-payments-5.42.1.tgz → tryghost-members-payments-5.42.2.tgz} +0 -0
- package/components/tryghost-members-ssr-5.42.2.tgz +0 -0
- package/components/{tryghost-members-stripe-service-5.42.1.tgz → tryghost-members-stripe-service-5.42.2.tgz} +0 -0
- package/components/{tryghost-mentions-email-report-5.42.1.tgz → tryghost-mentions-email-report-5.42.2.tgz} +0 -0
- package/components/{tryghost-milestones-5.42.1.tgz → tryghost-milestones-5.42.2.tgz} +0 -0
- package/components/{tryghost-minifier-5.42.1.tgz → tryghost-minifier-5.42.2.tgz} +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.42.2.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.42.2.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.42.2.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.42.2.tgz +0 -0
- package/components/{tryghost-mw-update-user-last-seen-5.42.1.tgz → tryghost-mw-update-user-last-seen-5.42.2.tgz} +0 -0
- package/components/tryghost-mw-version-match-5.42.2.tgz +0 -0
- package/components/tryghost-mw-vhost-5.42.2.tgz +0 -0
- package/components/{tryghost-oembed-service-5.42.1.tgz → tryghost-oembed-service-5.42.2.tgz} +0 -0
- package/components/tryghost-package-json-5.42.2.tgz +0 -0
- package/components/tryghost-posts-service-5.42.2.tgz +0 -0
- package/components/tryghost-referrers-5.42.2.tgz +0 -0
- package/components/{tryghost-security-5.42.1.tgz → tryghost-security-5.42.2.tgz} +0 -0
- package/components/{tryghost-session-service-5.42.1.tgz → tryghost-session-service-5.42.2.tgz} +0 -0
- package/components/tryghost-settings-path-manager-5.42.2.tgz +0 -0
- package/components/{tryghost-slack-notifications-5.42.1.tgz → tryghost-slack-notifications-5.42.2.tgz} +0 -0
- package/components/{tryghost-staff-service-5.42.1.tgz → tryghost-staff-service-5.42.2.tgz} +0 -0
- package/components/{tryghost-stats-service-5.42.1.tgz → tryghost-stats-service-5.42.2.tgz} +0 -0
- package/components/{tryghost-tiers-5.42.1.tgz → tryghost-tiers-5.42.2.tgz} +0 -0
- package/components/{tryghost-update-check-service-5.42.1.tgz → tryghost-update-check-service-5.42.2.tgz} +0 -0
- package/components/tryghost-verification-trigger-5.42.2.tgz +0 -0
- package/components/{tryghost-version-notifications-data-service-5.42.1.tgz → tryghost-version-notifications-data-service-5.42.2.tgz} +0 -0
- package/components/{tryghost-webmentions-5.42.1.tgz → tryghost-webmentions-5.42.2.tgz} +0 -0
- package/core/built/admin/assets/{chunk.143.75bf7cec44ff1be6d281.js → chunk.143.73b7ee8221da7b88268b.js} +5 -5
- package/core/built/admin/assets/{chunk.178.da3cd2eb1f532453497d.js → chunk.178.c9d7ae740be302ee4c0a.js} +4 -4
- package/core/built/admin/assets/{chunk.580.ca53e3417715b59cfb59.js → chunk.234.3af46154f27d036865cf.js} +576 -664
- package/core/built/admin/assets/ghost-1f011f7b4707ec57ed69381efe9cdce8.css +1 -0
- package/core/built/admin/assets/{ghost-edad3e564faafe551e20323d82a23636.js → ghost-950e30c239816c680811c36fa6d4aff4.js} +4515 -4449
- package/core/built/admin/assets/ghost-dark-ab58d2f2a83b1db39c83cdaa06a78176.css +1 -0
- package/core/built/admin/assets/{vendor-fcd4f09ebc985b1bd9ea37bdf7954c18.js → vendor-bf2916c4627a915e3c0487e697a26485.js} +24 -29
- package/core/built/admin/index.html +5 -5
- package/core/frontend/public/ghost.min.css +1 -1
- package/core/server/api/endpoints/posts.js +31 -0
- package/core/server/api/endpoints/utils/serializers/output/posts.js +16 -0
- package/core/server/web/api/endpoints/admin/routes.js +1 -0
- package/core/shared/config/defaults.json +1 -1
- package/package.json +155 -155
- package/yarn.lock +538 -311
- package/components/tryghost-adapter-cache-redis-5.42.1.tgz +0 -0
- package/components/tryghost-api-framework-5.42.1.tgz +0 -0
- package/components/tryghost-bootstrap-socket-5.42.1.tgz +0 -0
- package/components/tryghost-domain-events-5.42.1.tgz +0 -0
- package/components/tryghost-dynamic-routing-events-5.42.1.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.42.1.tgz +0 -0
- package/components/tryghost-email-analytics-service-5.42.1.tgz +0 -0
- package/components/tryghost-email-content-generator-5.42.1.tgz +0 -0
- package/components/tryghost-email-service-5.42.1.tgz +0 -0
- package/components/tryghost-extract-api-key-5.42.1.tgz +0 -0
- package/components/tryghost-html-to-plaintext-5.42.1.tgz +0 -0
- package/components/tryghost-i18n-5.42.1.tgz +0 -0
- package/components/tryghost-link-replacer-5.42.1.tgz +0 -0
- package/components/tryghost-magic-link-5.42.1.tgz +0 -0
- package/components/tryghost-mailgun-client-5.42.1.tgz +0 -0
- package/components/tryghost-member-attribution-5.42.1.tgz +0 -0
- package/components/tryghost-members-csv-5.42.1.tgz +0 -0
- package/components/tryghost-members-importer-5.42.1.tgz +0 -0
- package/components/tryghost-members-offers-5.42.1.tgz +0 -0
- package/components/tryghost-members-ssr-5.42.1.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.42.1.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.42.1.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.42.1.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.42.1.tgz +0 -0
- package/components/tryghost-mw-version-match-5.42.1.tgz +0 -0
- package/components/tryghost-mw-vhost-5.42.1.tgz +0 -0
- package/components/tryghost-package-json-5.42.1.tgz +0 -0
- package/components/tryghost-posts-service-5.42.1.tgz +0 -0
- package/components/tryghost-referrers-5.42.1.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.42.1.tgz +0 -0
- package/components/tryghost-verification-trigger-5.42.1.tgz +0 -0
- package/core/built/admin/assets/ghost-0b2e282fd281b16ee656b554d7bc4863.css +0 -1
- package/core/built/admin/assets/ghost-dark-c05706ed6261cfa7944426e1ef933462.css +0 -1
- /package/core/built/admin/assets/{chunk.580.ca53e3417715b59cfb59.js.LICENSE.txt → chunk.234.3af46154f27d036865cf.js.LICENSE.txt} +0 -0
|
@@ -9114,32 +9114,27 @@ return t("ui.ember.route.after_model",this.fullRouteName,super.afterModel.bind(t
|
|
|
9114
9114
|
return t("ui.ember.route.setup_controller",this.fullRouteName,super.setupController.bind(this),r)}}}[e.name]}
|
|
9115
9115
|
const a=i
|
|
9116
9116
|
e.init=a})),define("@sentry/ember/instance-initializers/sentry-performance",["exports","@sentry/browser","@sentry/ember","@sentry/utils"],(function(e,t,r,n){"use strict"
|
|
9117
|
-
function i(
|
|
9118
|
-
var r=e[Symbol.toPrimitive]
|
|
9119
|
-
if(void 0!==r){var n=r.call(e,t||"default")
|
|
9120
|
-
if("object"!=typeof n)return n
|
|
9121
|
-
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
9122
|
-
return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){const e=n.GLOBAL_OBJ
|
|
9117
|
+
function i(){const e=n.GLOBAL_OBJ
|
|
9123
9118
|
e.__sentryEmberConfig=e.__sentryEmberConfig??{}
|
|
9124
9119
|
const t={disablePerformance:!0,sentry:{}}
|
|
9125
|
-
return t.sentry||(t.sentry={browserTracingOptions:{}}),Object.assign(t.sentry,e.__sentryEmberConfig),t}function
|
|
9120
|
+
return t.sentry||(t.sentry={browserTracingOptions:{}}),Object.assign(t.sentry,e.__sentryEmberConfig),t}function o(e){const t=e.lookup("service:fastboot")
|
|
9126
9121
|
if(t?.isFastBoot)return
|
|
9127
|
-
if(
|
|
9128
|
-
|
|
9129
|
-
let
|
|
9122
|
+
if(i().disablePerformance)return
|
|
9123
|
+
d(e)}function a(){return Ember.run.backburner||Ember.run.backburner?Ember.run.backburner:{on(){},off(){}}}function s(e,t,r,n,i){const{disableRunloopPerformance:o}=r
|
|
9124
|
+
let s,l
|
|
9130
9125
|
const u=function(e){if(!e||!e.getURL||!e.formatURL)return""
|
|
9131
9126
|
const t=e.formatURL(e.getURL())
|
|
9132
9127
|
return"hash"===e.implementation?`${e.rootURL}${t}`:t}(t.location)
|
|
9133
9128
|
if(i&&u){const t=e.recognize(u)
|
|
9134
|
-
|
|
9129
|
+
s=n({name:`route:${t.name}`,op:"pageload",tags:{url:u,toRoute:t.name,"routing.instrumentation":"@sentry/ember"}})}const c=function(e,t){t||(s.finish(),a().off("end",c))}
|
|
9135
9130
|
return e.on("routeWillChange",(t=>{const{fromRoute:r,toRoute:i}=function(e,t){const r=e?.from?.name
|
|
9136
9131
|
return{fromRoute:r,toRoute:e&&e.to?e.to.name:t.currentRouteName}}(t,e)
|
|
9137
|
-
|
|
9138
|
-
t[e.object]=r}function
|
|
9132
|
+
s?.finish(),s=n({name:`route:${i}`,op:"navigation",tags:{fromRoute:r,toRoute:i,"routing.instrumentation":"@sentry/ember"}}),l=s.startChild({op:"ui.ember.transition",description:`route:${r} -> route:${i}`})})),e.on("routeDidChange",(()=>{l&&s&&(l.finish(),o?s.finish():a().on("end",c))})),{startTransaction:n}}function l(e,t){const r={payload:e,now:(0,n.timestampWithMs)()}
|
|
9133
|
+
t[e.object]=r}function u(e,t,i,o){const a=t[e.object]
|
|
9139
9134
|
if(!a)return
|
|
9140
9135
|
const s=(0,n.timestampWithMs)()
|
|
9141
9136
|
if(1e3*(s-a.now)>=o){const t=(0,r.getActiveTransaction)()
|
|
9142
|
-
t?.startChild({op:i,description:e.containerKey||e.object,startTimestamp:a.now,endTimestamp:s})}}function
|
|
9137
|
+
t?.startChild({op:i,description:e.containerKey||e.object,startTimestamp:a.now,endTimestamp:s})}}function c(e){const t="@sentry/ember:initial-load-start",i="@sentry/ember:initial-load-end"
|
|
9143
9138
|
let{HAS_PERFORMANCE:o,HAS_PERFORMANCE_TIMING:a}=function(){const e=window.performance,t=Boolean(e&&e.clearMarks&&e.clearMeasures),r=Boolean(e.measure&&e.getEntriesByName&&void 0!==n.browserPerformanceTimeOrigin)
|
|
9144
9139
|
return{HAS_PERFORMANCE:t,HAS_PERFORMANCE_TIMING:r}}()
|
|
9145
9140
|
if(!o)return
|
|
@@ -9150,23 +9145,22 @@ const l="@sentry/ember:initial-load",u=s.getEntriesByName(t).length>0,c=s.getEnt
|
|
|
9150
9145
|
if(!u||!c)return
|
|
9151
9146
|
s.measure(l,t,i)
|
|
9152
9147
|
const d=s.getEntriesByName(l)[0],h=(d.startTime+n.browserPerformanceTimeOrigin)/1e3,p=h+d.duration/1e3,f=(0,r.getActiveTransaction)(),m=f?.startChild({op:"ui.ember.init",startTimestamp:h})
|
|
9153
|
-
m?.finish(p),s.clearMarks(t),s.clearMarks(i),s.clearMeasures(l)}async function
|
|
9154
|
-
h.integrations=[...g,new f({routingInstrumentation:(t,r)=>{const n=e.lookup("router:main")
|
|
9148
|
+
m?.finish(p),s.clearMarks(t),s.clearMarks(i),s.clearMeasures(l)}async function d(e){const o=i(),d=(o.sentry,o.browserTracingOptions||o.sentry.browserTracingOptions||{}),{BrowserTracing:h}=await emberAutoImportDynamic("@sentry/browser"),p=new h({routingInstrumentation:(t,r)=>{const n=e.lookup("router:main")
|
|
9155
9149
|
let i=e.lookup("service:router")
|
|
9156
|
-
i.externalRouter&&(i=i.externalRouter),i._hasMountedSentryPerformanceRouting||i.recognize&&(i._hasMountedSentryPerformanceRouting=!0,
|
|
9157
|
-
|
|
9150
|
+
i.externalRouter&&(i=i.externalRouter),i._hasMountedSentryPerformanceRouting||i.recognize&&(i._hasMountedSentryPerformanceRouting=!0,s(i,n,o,t,r))},idleTimeout:o.transitionTimeout||5e3,...d}),f=t.getCurrentHub().getClient()
|
|
9151
|
+
f&&f.addIntegration&&f.addIntegration(p),function(e){const{disableRunloopPerformance:t,minimumRunloopQueueDuration:i}=e
|
|
9158
9152
|
if(t)return
|
|
9159
|
-
let o,
|
|
9153
|
+
let o,s
|
|
9160
9154
|
const l=["actions","routerTransitions","render","afterRender","destroy"]
|
|
9161
|
-
|
|
9162
|
-
const
|
|
9163
|
-
|
|
9164
|
-
1e3*(t-o)>=(i??5)&&
|
|
9155
|
+
a().on("begin",((e,t)=>{if(t)return
|
|
9156
|
+
const a=(0,r.getActiveTransaction)()
|
|
9157
|
+
a&&(s&&s.finish(),o=(0,n.timestampWithMs)(),l.forEach((e=>{Ember.run.scheduleOnce(e,null,(()=>{Ember.run.scheduleOnce(e,null,(()=>{if(o){const t=(0,n.timestampWithMs)()
|
|
9158
|
+
1e3*(t-o)>=(i??5)&&a?.startChild({op:`ui.ember.runloop.${e}`,startTimestamp:o,endTimestamp:t}).finish(),o=void 0}(0,r.getActiveTransaction)()&&(o=(0,n.timestampWithMs)())}))}))})))})),a().on("end",((e,t)=>{t||s&&(s.finish(),s=void 0)}))}(o),function(e){const{disableInstrumentComponents:t,minimumComponentRenderDuration:r,enableComponentDefinitions:n}=e
|
|
9165
9159
|
if(t)return
|
|
9166
9160
|
const i=r??2,o={},a={}
|
|
9167
|
-
Ember.Instrumentation.subscribe("render.component",{before(e,t,r){
|
|
9168
|
-
var
|
|
9169
|
-
e.default=
|
|
9161
|
+
Ember.Instrumentation.subscribe("render.component",{before(e,t,r){l(r,o)},after(e,t,r,n){u(r,o,"ui.ember.component.render",i)}}),n&&Ember.Instrumentation.subscribe("render.getComponentDefinition",{before(e,t,r){l(r,a)},after(e,t,r,n){u(r,a,"ui.ember.component.definition",0)}})}(o),c(o)}Object.defineProperty(e,"__esModule",{value:!0}),e._instrumentEmberRouter=s,e.default=void 0,e.initialize=o,e.instrumentForPerformance=d
|
|
9162
|
+
var h={initialize:o}
|
|
9163
|
+
e.default=h})),define("@sentry/ember/types",["exports"],(function(e){"use strict"
|
|
9170
9164
|
Object.defineProperty(e,"__esModule",{value:!0})})),define("@tryghost/ember-promise-modals/components/modal-container",["exports","@tryghost/ember-promise-modals/templates/components/modal-container"],(function(e,t){"use strict"
|
|
9171
9165
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
9172
9166
|
var r=Ember.Component.extend({layout:t.default,tagName:"",modals:Ember.inject.service()})
|
|
@@ -12185,10 +12179,11 @@ this._isRenderingEditor=!0,e.render(t),this._isRenderingEditor=!1}}willDestroyEl
|
|
|
12185
12179
|
e.isCollapsed&&!t||!e.headSection.isMarkerable||this.set("linkRange",e)}cancelEditLink(){this.set("linkRange",null)}focusIn(e){this._hasFocus||(this._hasFocus=!0,Ember.run.scheduleOnce("actions",this,this.onFocus,e))}focusOut(e){e.relatedTarget&&this.element.contains(e.relatedTarget)||(this._hasFocus=!1,Ember.run.scheduleOnce("actions",this,this.onBlur,e))}handlePaste(e){e.preventDefault(),e.stopImmediatePropagation()
|
|
12186
12180
|
let{editor:t,editor:{range:r}}=this
|
|
12187
12181
|
if(!t.cursor.isAddressable(e.target))return
|
|
12188
|
-
|
|
12182
|
+
t.post.isBlank&&t._insertEmptyMarkupSectionAtCursor()
|
|
12189
12183
|
const{text:n}=(0,l.getContentFromPasteEvent)(e)
|
|
12190
12184
|
if(n&&o.default.isURL(n)&&r&&!r.isCollapsed&&r.headSection===r.tailSection&&r.headSection.isMarkerable){let e=t.builder.createMarkup("a",{href:n})
|
|
12191
|
-
return t.run((t=>{t.addMarkupToRange(r,e)})),void t.selectRange(r.tail)}
|
|
12185
|
+
return t.run((t=>{t.addMarkupToRange(r,e)})),void t.selectRange(r.tail)}r.isCollapsed||t.performDelete()
|
|
12186
|
+
const i=t.range.head,a=e.shiftKey?"text":"html",s=(0,l.parsePostFromPaste)(e,t,{targetFormat:a})
|
|
12192
12187
|
for(s.sections.forEach((e=>{e.isMarkerable||e.isListSection||s.sections.remove(e)}));s.sections.length>1;)s.sections.remove(s.sections.tail)
|
|
12193
12188
|
if(s.sections.head&&s.sections.head.isListSection){let e=s.sections.head,r=e.items.head.markers.map((e=>e.clone())),n=t.builder.createMarkupSection("p",r)
|
|
12194
12189
|
s.sections.remove(e),s.sections.append(n)}t.run((e=>{const t=e.insertPost(i,s)
|
|
@@ -14071,4 +14066,4 @@ return void 0===n&&(n=(0,t.createStorage)(null,(()=>!1)),r.set(e,n)),n}dirtyStor
|
|
|
14071
14066
|
r&&(0,t.setValue)(r,null)}constructor(e){o(this,"storages",new WeakMap),o(this,"vals",void 0),this.vals=new WeakSet(e)}has(e){return(0,t.getValue)(this.storageFor(e)),this.vals.has(e)}add(e){return this.vals.add(e),this.dirtyStorageFor(e),this}delete(e){return this.dirtyStorageFor(e),this.vals.delete(e)}get[i](){return this.vals[Symbol.toStringTag]}}e.TrackedWeakSet=s,Object.setPrototypeOf(s.prototype,WeakSet.prototype)})),define("tracked-built-ins/index",["exports","tracked-built-ins/-private/decorator","tracked-built-ins/-private/array","tracked-built-ins/-private/object","tracked-built-ins/-private/map","tracked-built-ins/-private/set"],(function(e,t,r,n,i,o){"use strict"
|
|
14072
14067
|
Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"TrackedArray",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"TrackedMap",{enumerable:!0,get:function(){return i.TrackedMap}}),Object.defineProperty(e,"TrackedObject",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"TrackedSet",{enumerable:!0,get:function(){return o.TrackedSet}}),Object.defineProperty(e,"TrackedWeakMap",{enumerable:!0,get:function(){return i.TrackedWeakMap}}),Object.defineProperty(e,"TrackedWeakSet",{enumerable:!0,get:function(){return o.TrackedWeakSet}}),Object.defineProperty(e,"tracked",{enumerable:!0,get:function(){return t.default}})}))
|
|
14073
14068
|
|
|
14074
|
-
//# sourceMappingURL=vendor-
|
|
14069
|
+
//# sourceMappingURL=vendor-bf2916c4627a915e3c0487e697a26485.map
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
</style>
|
|
38
38
|
|
|
39
39
|
<link integrity="" rel="stylesheet" href="assets/vendor-3e6947aa681f0fb82b193090e520dc73.css">
|
|
40
|
-
<link integrity="" rel="stylesheet" href="assets/ghost-
|
|
40
|
+
<link integrity="" rel="stylesheet" href="assets/ghost-1f011f7b4707ec57ed69381efe9cdce8.css" title="light">
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
</head>
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
|
|
57
57
|
<div id="ember-basic-dropdown-wormhole"></div>
|
|
58
58
|
|
|
59
|
-
<script src="assets/vendor-
|
|
60
|
-
<script src="assets/chunk.
|
|
61
|
-
<script src="assets/chunk.143.
|
|
62
|
-
<script src="assets/ghost-
|
|
59
|
+
<script src="assets/vendor-bf2916c4627a915e3c0487e697a26485.js"></script>
|
|
60
|
+
<script src="assets/chunk.234.3af46154f27d036865cf.js"></script>
|
|
61
|
+
<script src="assets/chunk.143.73b7ee8221da7b88268b.js"></script>
|
|
62
|
+
<script src="assets/ghost-950e30c239816c680811c36fa6d4aff4.js"></script>
|
|
63
63
|
</body>
|
|
64
64
|
</html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100
|
|
1
|
+
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.black{color:#15171a}.darkgrey{color:#394047}.midgrey{color:#7c8b9a}.lightgrey{color:#ced4d9}.blue{color:#14b8ff}.red{color:#f50b23}.orange{color:#ffb41f}.green{color:#30cf43}.darkgrey-hover:hover{color:#394047}.midgrey-hover:hover{color:#7c8b9a}.lightgrey-hover:hover{color:#ced4d9}.blue-hover:hover{color:#14b8ff}.red-hover:hover{color:#f50b23}.orange-hover:hover{color:#ffb41f}.green-hover:hover{color:#30cf43}*,:after,:before{box-sizing:border-box}html{overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:62.5%;line-height:1.65;letter-spacing:.2px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body,html{width:100%;height:100%}body{overflow:auto;overflow-x:hidden;color:#343f44;font-size:1.4rem}.gh-view{-ms-flex-positive:1;flex-grow:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}h1,h2{margin:0 0 .3em;color:#343f44;line-height:1.15em;text-rendering:optimizeLegibility;text-indent:-1px;font-size:2.9rem}@media (max-width:500px){h1{font-size:2.4rem}}.gh-input{display:block;padding:10px 12px;width:100%;height:40px;border:1px solid #d6e3eb;border-radius:4px;color:#4b5b62;font-size:1.6rem;line-height:1em;font-weight:300;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;transition:border-color .15s linear;-webkit-appearance:none}.gh-input:focus{outline:0;border-color:#b4cbda}.gh-btn{display:inline-block;outline:none;border:1px solid #d6e3eb;color:#829aa8;text-decoration:none!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#829aa8;border-radius:5px;transition:all .2s ease;-webkit-font-smoothing:subpixel-antialiased}.gh-btn span{display:block;padding:0 12px;height:33px;font-size:1.3rem;line-height:33px;font-weight:400;text-align:center;letter-spacing:.2px;border-radius:4px}.gh-btn:hover{border-color:#b4cbda}.gh-btn-hover-blue:hover{border-color:#3eb0ef;color:#3eb0ef}.gh-btn-blue{padding:1px;border:0;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.1);fill:#fff;background:linear-gradient(#3da1d6,#2288bf);box-shadow:0 1px 0 rgba(0,0,0,.12);transition:none!important}.gh-btn-blue span{background:linear-gradient(#4ab6f0,#2fa5e4 60%,#2fa5e4 90%,#38a9e5);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1)}.gh-btn-blue:active,.gh-btn-blue:focus{background:#1e78a9}.gh-btn-blue:active span,.gh-btn-blue:focus span{background:#29a0e0;box-shadow:none}.gh-btn-block{display:block;width:100%}.gh-input-icon{position:relative;display:block}.gh-input-icon svg{position:absolute;top:50%;left:10px;z-index:2;height:14px;width:auto;fill:color(var(--midgrey) l(15%));transform:translateY(-7px)}.gh-input-icon input{padding-left:35px}.gh-app{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;height:100%}.gh-viewport{overflow:hidden;max-height:100%}.gh-main,.gh-viewport{-ms-flex-positive:1;flex-grow:1;display:-ms-flexbox;display:flex}.gh-main{position:relative;background:#fff;overflow-y:auto}.gh-flow{overflow-y:auto;min-height:100%;background:linear-gradient(315deg,#efefef,#fff)}.gh-flow,.gh-flow-content-wrap{flex-grow:1;display:flex;flex-direction:column}.gh-flow-content-wrap{flex-shrink:0;justify-content:center;align-items:center;margin:0 24px;padding-bottom:8vh}.gh-flow-content-wrap .site-icon{width:70px;height:70px;border-radius:3px}.gh-flow-content{display:flex;flex-direction:column;max-width:520px;width:100%;margin:4rem 0 6rem;padding:40px;background:#fff;color:var(--darkgrey);font-size:1.9rem;line-height:1.5em;font-weight:300;border-radius:3px;box-shadow:0 2.8px 2.2px rgba(0,0,0,.02),0 6.7px 5.3px rgba(0,0,0,.02),0 12.5px 10px rgba(0,0,0,.02),0 22.3px 17.9px rgba(0,0,0,.03),0 41.8px 33.4px rgba(0,0,0,.03),0 100px 80px rgba(0,0,0,.05)}.gh-flow-content.unsubscribe{align-items:center;justify-content:center;max-width:560px;min-height:200px;margin:4rem 0;text-align:center}@media (max-width:500px){.gh-flow-content{padding:0;background:transparent;box-shadow:none}}.gh-flow-content header{display:flex;flex-direction:column;align-items:center}.gh-flow-content h1{margin-bottom:24px;color:#15171a;font-size:4.1rem;font-weight:700;line-height:1.15em}.gh-flow-content.unsubscribe h1{font-size:3.2rem}@media (max-width:600px){.gh-flow-content.unsubscribe h1,.gh-flow-content h1{font-size:6vw}}.gh-flow-content.unsubscribe p{margin:0 0 .4em;color:#394047;font-size:1.8rem}@media (max-width:500px){.gh-flow-content.unsubscribe p{font-size:1.6rem;line-height:1.5}}.gh-flow-content .gh-btn{display:block;margin:20px auto 0;max-width:400px}.gh-flow-content .form-group{position:relative;margin-bottom:2.5rem}.gh-flow-content .form-group.error .gh-input{border-color:#f50b23;box-shadow:0 0 0 3px rgba(239,24,24,.15)}.gh-flow-content .main-error{position:absolute;right:0;margin:0;color:#7c8b9a;font-size:1.35rem;font-weight:400;text-align:center;user-select:text}.gh-flow-em{font-weight:500}.unsubscribe-footer{text-align:center;font-size:1.5rem}@media (max-width:500px){.unsubscribe-footer{padding:0 24px;font-size:1.4rem;line-height:1.4em}}.unsubscribe-footer p{color:#7c8b9a;margin:0 0 .4rem}.unsubscribe-footer a{color:#15171a;text-decoration:none}.unsubscribe-footer a:hover{text-decoration:underline}.gh-signin{margin-bottom:1.5rem}.gh-signin .gh-input,.gh-signin .gh-input:-webkit-autofill:first-line{height:54px;padding:12px 16px;font-size:1.8rem;border-radius:8px}.gh-signin .gh-input::placeholder{color:#abb4be;font-weight:400;opacity:1}.gh-signin .gh-input::-webkit-input-placeholder{color:#abb4be;font-weight:400}.gh-signin .gh-input:-ms-input-placeholder{color:#abb4be;font-weight:400}.gh-signin .gh-input::-moz-placeholder{color:#abb4be;font-weight:400;opacity:1}.gh-signin .gh-input:focus{border-color:#30cf43;box-shadow:0 0 0 3px rgba(26,170,96,.15)}.gh-signin .gh-btn{margin:0;width:100%;height:54px;max-width:unset;margin-top:32px;background:#15171a;font-weight:300;line-height:54px;border-radius:8px;transition:all .4s ease;-webkit-font-smoothing:subpixel-antialiased}.gh-signin .gh-btn span{color:#fff;font-size:1.8rem}.error-content{flex-grow:1;justify-content:center;user-select:text;padding:8vw}.error-content,.error-details{display:flex;align-items:center}.error-details{margin-bottom:4rem}.error-ghost{margin:15px;height:115px}@media (max-width:630px){.error-ghost{display:none}}.error-code{margin:0;color:#c5d2d9;font-size:10vw;font-weight:600;line-height:.9em;letter-spacing:-.4vw}.error-description{margin:0;padding:0;border:none;color:#54666d;font-size:2.3rem;font-weight:300;line-height:1.3em}.error-message{display:flex;flex-direction:column;margin:15px;align-items:center}.error-message a{font-size:1.4rem;line-height:1;margin:8px 0}.error-link{background-color:transparent;color:#5ba4e5;transition:background .3s,color .3s;text-decoration:none}.error-stack{margin:1rem auto;padding:2rem;max-width:800px;background-color:hsla(0,0%,100%,.3)}.error-stack-list{margin:0;padding:0;list-style-type:none}.error-stack-list li{display:block}.error-stack-list li:before{content:"\21AA";display:inline-block;margin-right:.5rem;color:#bbb;font-size:1.2rem}.error-stack-function{font-weight:700}
|
|
@@ -203,6 +203,37 @@ module.exports = {
|
|
|
203
203
|
}
|
|
204
204
|
},
|
|
205
205
|
|
|
206
|
+
bulkEdit: {
|
|
207
|
+
statusCode: 200,
|
|
208
|
+
headers: {},
|
|
209
|
+
options: [
|
|
210
|
+
'filter'
|
|
211
|
+
],
|
|
212
|
+
data: [
|
|
213
|
+
'action',
|
|
214
|
+
'meta'
|
|
215
|
+
],
|
|
216
|
+
validation: {
|
|
217
|
+
data: {
|
|
218
|
+
action: {
|
|
219
|
+
required: true,
|
|
220
|
+
values: ['feature', 'unfeature']
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
options: {
|
|
224
|
+
filter: {
|
|
225
|
+
required: true
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
permissions: {
|
|
230
|
+
method: 'edit'
|
|
231
|
+
},
|
|
232
|
+
async query(frame) {
|
|
233
|
+
return await postsService.bulkEdit(frame.data.bulk, frame.options);
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
|
|
206
237
|
destroy: {
|
|
207
238
|
statusCode: 204,
|
|
208
239
|
headers: {
|
|
@@ -37,5 +37,21 @@ module.exports = {
|
|
|
37
37
|
|
|
38
38
|
exportCSV(models, apiConfig, frame) {
|
|
39
39
|
frame.response = papaparse.unparse(models.data);
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
bulkEdit(bulkActionResult, _apiConfig, frame) {
|
|
43
|
+
frame.response = {
|
|
44
|
+
bulk: {
|
|
45
|
+
action: frame.data.action,
|
|
46
|
+
meta: {
|
|
47
|
+
stats: {
|
|
48
|
+
successful: bulkActionResult.successful,
|
|
49
|
+
unsuccessful: bulkActionResult.unsuccessful
|
|
50
|
+
},
|
|
51
|
+
errors: bulkActionResult.errors,
|
|
52
|
+
unsuccessfulData: bulkActionResult.unsuccessfulData
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
40
56
|
}
|
|
41
57
|
};
|
|
@@ -29,6 +29,7 @@ module.exports = function apiRoutes() {
|
|
|
29
29
|
router.get('/posts/export', mw.authAdminApi, http(api.posts.exportCSV));
|
|
30
30
|
|
|
31
31
|
router.post('/posts', mw.authAdminApi, http(api.posts.add));
|
|
32
|
+
router.put('/posts/bulk', mw.authAdminApi, http(api.posts.bulkEdit));
|
|
32
33
|
router.get('/posts/:id', mw.authAdminApi, http(api.posts.read));
|
|
33
34
|
router.get('/posts/slug/:slug', mw.authAdminApi, http(api.posts.read));
|
|
34
35
|
router.put('/posts/:id', mw.authAdminApi, http(api.posts.edit));
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
},
|
|
177
177
|
"portal": {
|
|
178
178
|
"url": "https://cdn.jsdelivr.net/ghost/portal@~{version}/umd/portal.min.js",
|
|
179
|
-
"version": "2.
|
|
179
|
+
"version": "2.28"
|
|
180
180
|
},
|
|
181
181
|
"sodoSearch": {
|
|
182
182
|
"url": "https://cdn.jsdelivr.net/ghost/sodo-search@~{version}/umd/sodo-search.min.js",
|