ghost 5.30.0 → 5.31.0
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-manager-5.30.0.tgz → tryghost-adapter-manager-5.31.0.tgz} +0 -0
- package/components/{tryghost-api-framework-5.30.0.tgz → tryghost-api-framework-5.31.0.tgz} +0 -0
- package/components/{tryghost-api-version-compatibility-service-5.30.0.tgz → tryghost-api-version-compatibility-service-5.31.0.tgz} +0 -0
- package/components/{tryghost-audience-feedback-5.30.0.tgz → tryghost-audience-feedback-5.31.0.tgz} +0 -0
- package/components/{tryghost-bootstrap-socket-5.30.0.tgz → tryghost-bootstrap-socket-5.31.0.tgz} +0 -0
- package/components/{tryghost-constants-5.30.0.tgz → tryghost-constants-5.31.0.tgz} +0 -0
- package/components/{tryghost-custom-theme-settings-service-5.30.0.tgz → tryghost-custom-theme-settings-service-5.31.0.tgz} +0 -0
- package/components/{tryghost-data-generator-5.30.0.tgz → tryghost-data-generator-5.31.0.tgz} +0 -0
- package/components/tryghost-domain-events-5.31.0.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.31.0.tgz +0 -0
- package/components/{tryghost-email-analytics-service-5.30.0.tgz → tryghost-email-analytics-service-5.31.0.tgz} +0 -0
- package/components/{tryghost-email-content-generator-5.30.0.tgz → tryghost-email-content-generator-5.31.0.tgz} +0 -0
- package/components/{tryghost-email-events-5.30.0.tgz → tryghost-email-events-5.31.0.tgz} +0 -0
- package/components/tryghost-email-service-5.31.0.tgz +0 -0
- package/components/{tryghost-email-suppression-list-5.30.0.tgz → tryghost-email-suppression-list-5.31.0.tgz} +0 -0
- package/components/{tryghost-express-dynamic-redirects-5.30.0.tgz → tryghost-express-dynamic-redirects-5.31.0.tgz} +0 -0
- package/components/tryghost-extract-api-key-5.31.0.tgz +0 -0
- package/components/{tryghost-html-to-plaintext-5.30.0.tgz → tryghost-html-to-plaintext-5.31.0.tgz} +0 -0
- package/components/tryghost-i18n-5.31.0.tgz +0 -0
- package/components/tryghost-importer-revue-5.31.0.tgz +0 -0
- package/components/{tryghost-job-manager-5.30.0.tgz → tryghost-job-manager-5.31.0.tgz} +0 -0
- package/components/{tryghost-link-redirects-5.30.0.tgz → tryghost-link-redirects-5.31.0.tgz} +0 -0
- package/components/tryghost-link-replacer-5.31.0.tgz +0 -0
- package/components/{tryghost-link-tracking-5.30.0.tgz → tryghost-link-tracking-5.31.0.tgz} +0 -0
- package/components/{tryghost-magic-link-5.30.0.tgz → tryghost-magic-link-5.31.0.tgz} +0 -0
- package/components/{tryghost-mailgun-client-5.30.0.tgz → tryghost-mailgun-client-5.31.0.tgz} +0 -0
- package/components/tryghost-member-attribution-5.31.0.tgz +0 -0
- package/components/tryghost-member-events-5.31.0.tgz +0 -0
- package/components/{tryghost-members-api-5.30.0.tgz → tryghost-members-api-5.31.0.tgz} +0 -0
- package/components/{tryghost-members-csv-5.30.0.tgz → tryghost-members-csv-5.31.0.tgz} +0 -0
- package/components/{tryghost-members-events-service-5.30.0.tgz → tryghost-members-events-service-5.31.0.tgz} +0 -0
- package/components/{tryghost-members-importer-5.30.0.tgz → tryghost-members-importer-5.31.0.tgz} +0 -0
- package/components/tryghost-members-offers-5.31.0.tgz +0 -0
- package/components/tryghost-members-payments-5.31.0.tgz +0 -0
- package/components/{tryghost-members-ssr-5.30.0.tgz → tryghost-members-ssr-5.31.0.tgz} +0 -0
- package/components/{tryghost-members-stripe-service-5.30.0.tgz → tryghost-members-stripe-service-5.31.0.tgz} +0 -0
- package/components/{tryghost-minifier-5.30.0.tgz → tryghost-minifier-5.31.0.tgz} +0 -0
- package/components/{tryghost-mw-api-version-mismatch-5.30.0.tgz → tryghost-mw-api-version-mismatch-5.31.0.tgz} +0 -0
- package/components/{tryghost-mw-cache-control-5.30.0.tgz → tryghost-mw-cache-control-5.31.0.tgz} +0 -0
- package/components/{tryghost-mw-error-handler-5.30.0.tgz → tryghost-mw-error-handler-5.31.0.tgz} +0 -0
- package/components/tryghost-mw-session-from-token-5.31.0.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.31.0.tgz +0 -0
- package/components/{tryghost-mw-vhost-5.30.0.tgz → tryghost-mw-vhost-5.31.0.tgz} +0 -0
- package/components/tryghost-oembed-service-5.31.0.tgz +0 -0
- package/components/tryghost-package-json-5.31.0.tgz +0 -0
- package/components/tryghost-referrers-5.31.0.tgz +0 -0
- package/components/{tryghost-security-5.30.0.tgz → tryghost-security-5.31.0.tgz} +0 -0
- package/components/{tryghost-session-service-5.30.0.tgz → tryghost-session-service-5.31.0.tgz} +0 -0
- package/components/tryghost-settings-path-manager-5.31.0.tgz +0 -0
- package/components/{tryghost-staff-service-5.30.0.tgz → tryghost-staff-service-5.31.0.tgz} +0 -0
- package/components/tryghost-stats-service-5.31.0.tgz +0 -0
- package/components/{tryghost-tiers-5.30.0.tgz → tryghost-tiers-5.31.0.tgz} +0 -0
- package/components/{tryghost-update-check-service-5.30.0.tgz → tryghost-update-check-service-5.31.0.tgz} +0 -0
- package/components/tryghost-verification-trigger-5.31.0.tgz +0 -0
- package/components/{tryghost-version-notifications-data-service-5.30.0.tgz → tryghost-version-notifications-data-service-5.31.0.tgz} +0 -0
- package/components/tryghost-webmentions-5.31.0.tgz +0 -0
- package/content/themes/casper/author.hbs +6 -6
- package/content/themes/casper/package.json +1 -1
- package/core/boot.js +2 -0
- package/core/built/admin/assets/{chunk.143.f9aa3f7f1c45d1d921cd.js → chunk.143.7ef8d39b50a9ef3d6a6b.js} +5 -5
- package/core/built/admin/assets/{chunk.178.55d68318431345983298.js → chunk.178.8a8e070a8c2682df548a.js} +4 -4
- package/core/built/admin/assets/{ghost-d3e45940f0f1601232d464d0b429d45f.css → ghost-721a7adc4ca642c88e4ac85e1cb8b385.css} +1 -1
- package/core/built/admin/assets/{ghost-dark-c8dc36895dfcbc03f0edd94311c65bfd.css → ghost-dark-fb05eb50e216469c5626356731afa42f.css} +1 -1
- package/core/built/admin/assets/{ghost-23dc524374e35a582886c36f7dacdb05.js → ghost-fc0450a45ea5be2e5a10c4d897d5b430.js} +142 -124
- package/core/built/admin/assets/{vendor-fadbf85ad92c591dc4bd3755312b6ddf.js → vendor-0441964c34d58f2aacd5a04bbe240243.js} +34 -37
- package/core/built/admin/index.html +5 -5
- package/core/frontend/helpers/ghost_head.js +16 -0
- package/core/server/api/endpoints/index.js +4 -0
- package/core/server/api/endpoints/mentions.js +33 -0
- package/core/server/api/endpoints/oembed.js +1 -22
- package/core/server/api/endpoints/utils/serializers/input/settings.js +2 -1
- package/core/server/api/endpoints/utils/serializers/output/mappers/index.js +2 -1
- package/core/server/api/endpoints/utils/serializers/output/mappers/mentions.js +18 -0
- package/core/server/data/exporter/table-lists.js +1 -0
- package/core/server/data/importer/import-manager.js +21 -5
- package/core/server/data/migrations/versions/5.31/2022-12-05-09-56-update-newsletter-subscriptions.js +23 -0
- package/core/server/data/migrations/versions/5.31/2023-01-17-14-59-add-outbound-link-tagging-setting.js +8 -0
- package/core/server/data/migrations/versions/5.31/2023-01-19-07-46-add-mentions-table.js +17 -0
- package/core/server/data/schema/default-settings/default-settings.json +10 -0
- package/core/server/data/schema/schema.js +15 -0
- package/core/server/models/base/plugins/actions.js +1 -1
- package/core/server/models/base/plugins/sanitize.js +2 -0
- package/core/server/models/mention.js +9 -0
- package/core/server/models/redirect.js +2 -1
- package/core/server/services/api-version-compatibility/index.js +5 -8
- package/core/server/services/email-suppression-list/MailgunEmailSuppressionList.js +1 -1
- package/core/server/services/link-redirection/LinkRedirectRepository.js +2 -1
- package/core/server/services/link-tracking/PostLinkRepository.js +2 -1
- package/core/server/services/mega/post-email-serializer.js +2 -2
- package/core/server/services/member-attribution/index.js +2 -0
- package/core/server/services/mentions/BookshelfMentionRepository.js +117 -0
- package/core/server/services/mentions/MentionController.js +66 -0
- package/core/server/services/mentions/WebmentionMetadata.js +20 -0
- package/core/server/services/mentions/index.js +1 -0
- package/core/server/services/mentions/service.js +77 -0
- package/core/server/services/oembed/index.js +1 -0
- package/core/server/services/{nft-oembed.js → oembed/nft-oembed.js} +0 -0
- package/core/server/services/oembed/service.js +24 -0
- package/core/server/services/{twitter-embed.js → oembed/twitter-embed.js} +0 -0
- package/core/server/services/url/Resources.js +3 -17
- package/core/server/services/url/UrlService.js +3 -3
- package/core/server/web/api/endpoints/admin/routes.js +3 -0
- package/core/server/web/parent/frontend.js +1 -0
- package/core/server/web/webmentions/index.js +1 -0
- package/core/server/web/webmentions/routes.js +18 -0
- package/core/shared/labs.js +6 -4
- package/package.json +115 -111
- package/yarn.lock +620 -80
- package/components/tryghost-domain-events-5.30.0.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.30.0.tgz +0 -0
- package/components/tryghost-email-service-5.30.0.tgz +0 -0
- package/components/tryghost-extract-api-key-5.30.0.tgz +0 -0
- package/components/tryghost-importer-revue-5.30.0.tgz +0 -0
- package/components/tryghost-link-replacer-5.30.0.tgz +0 -0
- package/components/tryghost-member-attribution-5.30.0.tgz +0 -0
- package/components/tryghost-member-events-5.30.0.tgz +0 -0
- package/components/tryghost-members-offers-5.30.0.tgz +0 -0
- package/components/tryghost-members-payments-5.30.0.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.30.0.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.30.0.tgz +0 -0
- package/components/tryghost-oembed-service-5.30.0.tgz +0 -0
- package/components/tryghost-package-json-5.30.0.tgz +0 -0
- package/components/tryghost-referrers-5.30.0.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.30.0.tgz +0 -0
- package/components/tryghost-stats-service-5.30.0.tgz +0 -0
- package/components/tryghost-verification-trigger-5.30.0.tgz +0 -0
|
@@ -12314,7 +12314,7 @@ if("object"!=typeof n)return n
|
|
|
12314
12314
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
12315
12315
|
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 I(e,t,r,n,i){var o={}
|
|
12316
12316
|
return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VIDEO_MIME_TYPES=e.VIDEO_EXTENSIONS=void 0
|
|
12317
|
-
const N=Ember.HTMLBars.template({id:"cWi7xXMQ",block:'{"symbols":["uploader","card","uploader","@payload","@env","@headerOffset","@isSelected","@isEditing","@selectCard","@deselectCard","@editCard","@saveCard","@saveAsSnippet","@addParagraphAfterCard","@moveCursorToPrevSection","@moveCursorToNextSection","@editor"],"statements":[[8,"koenig-card",[[4,[38,11],[[32,0,["didInsert"]]],null],[4,[38,0],["dragover",[32,0,["dragOver"]]],null],[4,[38,0],["dragleave",[32,0,["dragLeave"]]],null],[4,[38,0],["drop",[32,0,["drop"]]],null]],[["@env","@class","@headerOffset","@toolbar","@payload","@isSelected","@isEditing","@selectCard","@deselectCard","@editCard","@hasEditMode","@saveCard","@saveAsSnippet","@addParagraphAfterCard","@moveCursorToPrevSection","@moveCursorToNextSection","@editor"],[[32,5],[30,[36,10],["kg-card kg-video-card kg-card-hover mih10 miw-100 relative ba b--transparent",[30,[36,9],["breakout"],[["size"],[[32,4,["cardWidth"]]]]]],null],[32,6],[32,0,["toolbar"]],[32,4],[32,7],[32,8],[32,9],[32,10],[32,11],[30,[36,7],[[32,0,["isEmpty"]]],null],[32,12],[32,13],[32,14],[32,15],[32,16],[32,17]]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-uploader",[],[["@uploadUrl","@resourceName","@files","@accept","@extensions","@onStart","@onComplete","@onFailed"],["/media/upload/","media",[32,0,["files"]],[32,0,["videoMimeTypes"]],[32,0,["videoExtensions"]],[32,0,["videoUploadStarted"]],[32,0,["videoUploadCompleted"]],[32,0,["videoUploadFailed"]]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[15,0,[31,["relative",[30,[36,3],[[30,[36,8],[[32,0,["previewThumbnailSrc"]],[32,4,["customThumbnailSrc"]],[32,4,["thumbnailSrc"]]],null]," bg-whitegrey-l2"],null]]]],[12],[2,"\\n"],[6,[37,2],[[30,[36,8],[[32,0,["previewThumbnailSrc"]],[32,4,["customThumbnailSrc"]],[32,4,["thumbnailSrc"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"aspect-ratio"],[15,5,[32,0,["aspectRatioPaddingStyle"]]],[12],[2,"\\n "],[10,"img"],[15,"src",[30,[36,8],[[32,0,["previewThumbnailSrc"]],[32,4,["customThumbnailSrc"]],[32,4,["thumbnailSrc"]]],null]],[14,0,"aspect-ratio--object"],[14,5,"object-fit: cover"],[12],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,3],[[30,[36,8],[[32,3,["isUploading"]],[32,3,["errors"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"image-overlay"],[12],[2,"\\n "],[10,"button"],[14,0,"kg-large-play-icon"],[14,4,"button"],[12],[1,[30,[36,1],["play"],null]],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,2],[[32,0,["isDraggedOver"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"absolute absolute--fill flex items-center bg-black-60 pe-none"],[12],[2,"\\n "],[10,"span"],[14,0,"db center sans-serif fw7 f7 white"],[12],[2,"\\n Drop to replace video\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[6,[37,2],[[30,[36,8],[[32,3,["errors"]],[32,3,["isUploading"]],[30,[36,7],[[32,4,["src"]]],null]],null]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[15,0,[31,["relative miw-100 flex items-center justify-center ",[30,[36,3],[[32,4,["src"]],"kg-media-placeholder ba b--whitegrey bg-whitegrey-l2","absolute absolute--fill bg-white-50"],null]]]],[12],[2,"\\n"],[6,[37,2],[[32,0,["isDraggedOver"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"db center sans-serif fw7 f7 middarkgrey"],[12],[2,"\\n Drop it like it\'s hot 🔥\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[32,3,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,3,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[30,[36,7],[[32,0,["previewThumbnailSrc"]],[32,4,["src"]]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"flex flex-column items-center center sans-serif fw4 f7 middarkgrey pa16 pt14 pb14 kg-image-button"],[24,4,"button"],[4,[38,0],["click",[32,0,["triggerVideoFileDialog"]]],null],[12],[2,"\\n "],[1,[30,[36,1],["film-camera"],[["class"],["kg-placeholder-video"]]]],[2,"\\n "],[10,"span"],[14,0,"mt4 kg-upload-placeholder-text"],[12],[2,"Click to select a video"],[13],[2,"\\n"],[6,[37,2],[[32,3,["errors"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"kg-upload-error"],[12],[2,"\\n "],[1,[30,[36,6],[[32,3,["errors"]],"0.message"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"kg-player-container"],[12],[2,"\\n "],[10,"div"],[15,0,[31,["kg-player ",[30,[36,2],[[30,[36,5],[[32,4,["cardWidth"]],"full"],null],"kg-player-full"],null]]]],[12],[2,"\\n "],[10,"button"],[14,0,"kg-player-play-icon"],[14,4,"button"],[12],[1,[30,[36,1],["play"],null]],[13],[2,"\\n "],[10,"span"],[14,0,"kg-player-current-time"],[12],[2,"0:00"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-player-time"],[12],[2,"\\n /"],[10,"span"],[14,0,"kg-player-duration"],[12],[1,[32,0,["totalDuration"]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"input"],[14,0,"kg-player-seek-slider"],[14,"max","100"],[14,2,"0"],[14,4,"range"],[12],[13],[2,"\\n "],[10,"button"],[14,0,"kg-player-playback-rate"],[14,4,"button"],[12],[2,"1×"],[13],[2,"\\n "],[10,"button"],[14,0,"kg-player-unmute-icon"],[14,4,"button"],[12],[1,[30,[36,1],["unmute"],null]],[13],[2,"\\n "],[10,"input"],[14,0,"kg-player-volume-slider"],[14,"max","100"],[14,2,"70"],[14,4,"range"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept","@onInsert"],[false,[32,3,["setFiles"]],[32,0,["videoMimeTypes"]],[32,0,["registerVideoFileInput"]]]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n\\n"],[6,[37,2],[[30,[36,8],[[32,7],[30,[36,12],[[32,4,["caption"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[8,[32,2,["CaptionInput"]],[],[["@caption","@update","@placeholder"],[[32,4,["caption"]],[30,[36,4],[[32,0,["updatePayloadAttr"]],"caption"],null],"Type caption for video (optional)"]],null],[2,"\\n"]],"parameters":[]}]]]],"parameters":[2]}]]],[2,"\\n\\n"],[6,[37,2],[[30,[36,13],[[32,8],[32,4,["src"]]],null]],null,[["default"],[{"statements":[[2," "],[8,"koenig-settings-panel",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control kg-settings-panel-control-horizontal"],[12],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-label"],[12],[2,"Video width"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-btn-group icons"],[12],[2,"\\n "],[11,"button"],[24,"title","Regular"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,3],[[32,4,["cardWidth"]],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,0],["click",[30,[36,4],[[32,0,["updatePayloadAttr"]],"cardWidth",null],null]],null],[12],[10,"span"],[12],[1,[30,[36,1],["koenig/kg-img-regular"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[11,"button"],[24,"title","Wide"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,2],[[30,[36,5],[[32,4,["cardWidth"]],"wide"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,0],["click",[30,[36,4],[[32,0,["updatePayloadAttr"]],"cardWidth","wide"],null]],null],[12],[10,"span"],[12],[1,[30,[36,1],["koenig/kg-img-wide"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[11,"button"],[24,"title","Full"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,2],[[30,[36,5],[[32,4,["cardWidth"]],"full"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,0],["click",[30,[36,4],[[32,0,["updatePayloadAttr"]],"cardWidth","full"],null]],null],[12],[10,"span"],[12],[1,[30,[36,1],["koenig/kg-img-full"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"kg-settings-panel-control kg-settings-panel-control-horizontal"],[12],[2,"\\n "],[10,"label"],[14,0,"kg-settings-panel-control-label"],[14,"for","loop-toggle"],[12],[2,"Loop"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"for-switch x-small"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[12],[2,"\\n "],[11,"input"],[24,0,"gh-input"],[24,1,"loop-toggle"],[16,"checked",[32,4,["loop"]]],[24,4,"checkbox"],[4,[38,0],["input",[32,0,["toggleLoop"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component mt1"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-info video"],[12],[2,"Autoplay your video on a loop without sound."],[13],[2,"\\n\\n "],[8,"gh-uploader",[],[["@uploadUrl","@accept","@extensions","@onStart","@onComplete"],["/images/upload/",[32,0,["imageMimeTypes"]],[32,0,["imageExtensions"]],[32,0,["customThumbnailUploadStarted"]],[32,0,["customThumbnailUploadCompleted"]]]],[["default"],[{"statements":[[2,"\\n\\n"],[6,[37,3],[[32,4,["loop"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-settings-panel-control"],[12],[2,"\\n "],[10,"label"],[14,0,"kg-settings-panel-control-label"],[12],[2,"Custom thumbnail"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"relative w-100"],[12],[2,"\\n"],[6,[37,2],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-upload-thumbnail-xl"],[12],[2,"\\n "],[1,[32,1,["progressBar"]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,2],[[32,4,["customThumbnailSrc"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-thumbnail-xl-container"],[12],[2,"\\n "],[11,"img"],[24,0,"kg-thumbnail-xl"],[16,"src",[32,4,["customThumbnailSrc"]]],[4,[38,0],["click",[32,1,["triggerFileDialog"]]],null],[12],[13],[2,"\\n "],[10,"div"],[14,0,"image-overlay"],[12],[2,"\\n "],[10,"div"],[14,0,"flex flex-row-reverse"],[12],[2,"\\n "],[11,"button"],[24,0,"bg-white-90 br3 pe-auto"],[24,4,"button"],[4,[38,0],["click",[32,0,["deleteCustomThumbnail"]]],null],[12],[2,"\\n "],[1,[30,[36,1],["koenig/kg-trash"],[["class"],["kg-replace-icon fill-darkgrey"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn kg-upload-thumbnail-xl"],[24,4,"button"],[4,[38,0],["click",[32,1,["triggerFileDialog"]]],null],[12],[2,"\\n "],[1,[30,[36,1],["upload-fill"],null]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept","@onInsert"],[false,[32,1,["setFiles"]],[32,0,["imageMimeTypes"]],[32,1,["registerFileInput"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,2],[true],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-settings-panel-control-info"],[12],[2,"\\n "],[10,"span"],[14,0,"red"],[12],[2,"The file type you uploaded is not supported. Please use .MP4, .WEBM, .OGV"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[1]}]]],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["on","svg-jar","if","unless","fn","eq","get","not","or","kg-style","concat","did-insert","clean-basic-html","and"]}',moduleName:"koenig-editor/components/koenig-card-video.hbs"}),L=["mp4","webm","ogv"]
|
|
12317
|
+
const N=Ember.HTMLBars.template({id:"qgPFrLj7",block:'{"symbols":["uploader","error","card","uploader","@payload","@env","@headerOffset","@isSelected","@isEditing","@selectCard","@deselectCard","@editCard","@saveCard","@saveAsSnippet","@addParagraphAfterCard","@moveCursorToPrevSection","@moveCursorToNextSection","@editor"],"statements":[[8,"koenig-card",[[4,[38,13],[[32,0,["didInsert"]]],null],[4,[38,2],["dragover",[32,0,["dragOver"]]],null],[4,[38,2],["dragleave",[32,0,["dragLeave"]]],null],[4,[38,2],["drop",[32,0,["drop"]]],null]],[["@env","@class","@headerOffset","@toolbar","@payload","@isSelected","@isEditing","@selectCard","@deselectCard","@editCard","@hasEditMode","@saveCard","@saveAsSnippet","@addParagraphAfterCard","@moveCursorToPrevSection","@moveCursorToNextSection","@editor"],[[32,6],[30,[36,12],["kg-card kg-video-card kg-card-hover mih10 miw-100 relative ba b--transparent",[30,[36,11],["breakout"],[["size"],[[32,5,["cardWidth"]]]]]],null],[32,7],[32,0,["toolbar"]],[32,5],[32,8],[32,9],[32,10],[32,11],[32,12],[30,[36,9],[[32,0,["isEmpty"]]],null],[32,13],[32,14],[32,15],[32,16],[32,17],[32,18]]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-uploader",[],[["@uploadUrl","@resourceName","@files","@accept","@extensions","@onStart","@onComplete","@onFailed"],["/media/upload/","media",[32,0,["files"]],[32,0,["videoMimeTypes"]],[32,0,["videoExtensions"]],[32,0,["videoUploadStarted"]],[32,0,["videoUploadCompleted"]],[32,0,["videoUploadFailed"]]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[15,0,[31,["relative",[30,[36,5],[[30,[36,10],[[32,0,["previewThumbnailSrc"]],[32,5,["customThumbnailSrc"]],[32,5,["thumbnailSrc"]]],null]," bg-whitegrey-l2"],null]]]],[12],[2,"\\n"],[6,[37,4],[[30,[36,10],[[32,0,["previewThumbnailSrc"]],[32,5,["customThumbnailSrc"]],[32,5,["thumbnailSrc"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"aspect-ratio"],[15,5,[32,0,["aspectRatioPaddingStyle"]]],[12],[2,"\\n "],[10,"img"],[15,"src",[30,[36,10],[[32,0,["previewThumbnailSrc"]],[32,5,["customThumbnailSrc"]],[32,5,["thumbnailSrc"]]],null]],[14,0,"aspect-ratio--object"],[14,5,"object-fit: cover"],[12],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,5],[[30,[36,10],[[32,4,["isUploading"]],[32,4,["errors"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"image-overlay"],[12],[2,"\\n "],[10,"button"],[14,0,"kg-large-play-icon"],[14,4,"button"],[12],[1,[30,[36,3],["play"],null]],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,4],[[32,0,["isDraggedOver"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"absolute absolute--fill flex items-center bg-black-60 pe-none"],[12],[2,"\\n "],[10,"span"],[14,0,"db center sans-serif fw7 f7 white"],[12],[2,"\\n Drop to replace video\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[6,[37,4],[[30,[36,10],[[32,4,["errors"]],[32,4,["isUploading"]],[30,[36,9],[[32,5,["src"]]],null]],null]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[15,0,[31,["relative miw-100 flex items-center justify-center ",[30,[36,5],[[32,5,["src"]],"kg-media-placeholder ba b--whitegrey bg-whitegrey-l2","absolute absolute--fill bg-white-50"],null]]]],[12],[2,"\\n"],[6,[37,4],[[32,0,["isDraggedOver"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"db center sans-serif fw7 f7 middarkgrey"],[12],[2,"\\n Drop it like it\'s hot 🔥\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,4],[[32,4,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,4,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,4],[[30,[36,9],[[32,0,["previewThumbnailSrc"]],[32,5,["src"]]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"flex flex-column items-center center sans-serif fw4 f7 middarkgrey pa16 pt14 pb14 kg-image-button"],[24,4,"button"],[4,[38,2],["click",[32,0,["triggerVideoFileDialog"]]],null],[12],[2,"\\n "],[1,[30,[36,3],["film-camera"],[["class"],["kg-placeholder-video"]]]],[2,"\\n "],[10,"span"],[14,0,"mt4 kg-upload-placeholder-text"],[12],[2,"Click to select a video"],[13],[2,"\\n"],[6,[37,4],[[32,4,["errors"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"kg-upload-error"],[12],[2,"\\n "],[1,[30,[36,8],[[32,4,["errors"]],"0.message"],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"kg-player-container"],[12],[2,"\\n "],[10,"div"],[15,0,[31,["kg-player ",[30,[36,4],[[30,[36,7],[[32,5,["cardWidth"]],"full"],null],"kg-player-full"],null]]]],[12],[2,"\\n "],[10,"button"],[14,0,"kg-player-play-icon"],[14,4,"button"],[12],[1,[30,[36,3],["play"],null]],[13],[2,"\\n "],[10,"span"],[14,0,"kg-player-current-time"],[12],[2,"0:00"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-player-time"],[12],[2,"\\n /"],[10,"span"],[14,0,"kg-player-duration"],[12],[1,[32,0,["totalDuration"]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"input"],[14,0,"kg-player-seek-slider"],[14,"max","100"],[14,2,"0"],[14,4,"range"],[12],[13],[2,"\\n "],[10,"button"],[14,0,"kg-player-playback-rate"],[14,4,"button"],[12],[2,"1×"],[13],[2,"\\n "],[10,"button"],[14,0,"kg-player-unmute-icon"],[14,4,"button"],[12],[1,[30,[36,3],["unmute"],null]],[13],[2,"\\n "],[10,"input"],[14,0,"kg-player-volume-slider"],[14,"max","100"],[14,2,"70"],[14,4,"range"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept","@onInsert"],[false,[32,4,["setFiles"]],[32,0,["videoMimeTypes"]],[32,0,["registerVideoFileInput"]]]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[4]}]]],[2,"\\n\\n"],[6,[37,4],[[30,[36,10],[[32,8],[30,[36,14],[[32,5,["caption"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[8,[32,3,["CaptionInput"]],[],[["@caption","@update","@placeholder"],[[32,5,["caption"]],[30,[36,6],[[32,0,["updatePayloadAttr"]],"caption"],null],"Type caption for video (optional)"]],null],[2,"\\n"]],"parameters":[]}]]]],"parameters":[3]}]]],[2,"\\n\\n"],[6,[37,4],[[30,[36,15],[[32,9],[32,5,["src"]]],null]],null,[["default"],[{"statements":[[2," "],[8,"koenig-settings-panel",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control kg-settings-panel-control-horizontal"],[12],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-label"],[12],[2,"Video width"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-btn-group icons"],[12],[2,"\\n "],[11,"button"],[24,"title","Regular"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,5],[[32,5,["cardWidth"]],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[30,[36,6],[[32,0,["updatePayloadAttr"]],"cardWidth",null],null]],null],[12],[10,"span"],[12],[1,[30,[36,3],["koenig/kg-img-regular"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[11,"button"],[24,"title","Wide"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,4],[[30,[36,7],[[32,5,["cardWidth"]],"wide"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[30,[36,6],[[32,0,["updatePayloadAttr"]],"cardWidth","wide"],null]],null],[12],[10,"span"],[12],[1,[30,[36,3],["koenig/kg-img-wide"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[11,"button"],[24,"title","Full"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,4],[[30,[36,7],[[32,5,["cardWidth"]],"full"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[30,[36,6],[[32,0,["updatePayloadAttr"]],"cardWidth","full"],null]],null],[12],[10,"span"],[12],[1,[30,[36,3],["koenig/kg-img-full"],[["class"],["fill-darkgrey"]]]],[13],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"kg-settings-panel-control kg-settings-panel-control-horizontal"],[12],[2,"\\n "],[10,"label"],[14,0,"kg-settings-panel-control-label"],[14,"for","loop-toggle"],[12],[2,"Loop"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"for-switch x-small"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[12],[2,"\\n "],[11,"input"],[24,0,"gh-input"],[24,1,"loop-toggle"],[16,"checked",[32,5,["loop"]]],[24,4,"checkbox"],[4,[38,2],["input",[32,0,["toggleLoop"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component mt1"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-info video"],[12],[2,"Autoplay your video on a loop without sound."],[13],[2,"\\n\\n "],[8,"gh-uploader",[],[["@uploadUrl","@accept","@extensions","@onStart","@onComplete"],["/images/upload/",[32,0,["imageMimeTypes"]],[32,0,["imageExtensions"]],[32,0,["customThumbnailUploadStarted"]],[32,0,["customThumbnailUploadCompleted"]]]],[["default"],[{"statements":[[2,"\\n\\n"],[6,[37,5],[[32,5,["loop"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-settings-panel-control"],[12],[2,"\\n "],[10,"label"],[14,0,"kg-settings-panel-control-label"],[12],[2,"Custom thumbnail"],[13],[2,"\\n "],[10,"div"],[14,0,"kg-settings-panel-control-input"],[12],[2,"\\n "],[10,"div"],[14,0,"relative w-100"],[12],[2,"\\n"],[6,[37,4],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-upload-thumbnail-xl"],[12],[2,"\\n "],[1,[32,1,["progressBar"]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,4],[[32,5,["customThumbnailSrc"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-thumbnail-xl-container"],[12],[2,"\\n "],[11,"img"],[24,0,"kg-thumbnail-xl"],[16,"src",[32,5,["customThumbnailSrc"]]],[4,[38,2],["click",[32,1,["triggerFileDialog"]]],null],[12],[13],[2,"\\n "],[10,"div"],[14,0,"image-overlay"],[12],[2,"\\n "],[10,"div"],[14,0,"flex flex-row-reverse"],[12],[2,"\\n "],[11,"button"],[24,0,"bg-white-90 br3 pe-auto"],[24,4,"button"],[4,[38,2],["click",[32,0,["deleteCustomThumbnail"]]],null],[12],[2,"\\n "],[1,[30,[36,3],["koenig/kg-trash"],[["class"],["kg-replace-icon fill-darkgrey"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn kg-upload-thumbnail-xl"],[24,4,"button"],[4,[38,2],["click",[32,1,["triggerFileDialog"]]],null],[12],[2,"\\n "],[1,[30,[36,3],["upload-fill"],null]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept","@onInsert"],[false,[32,1,["setFiles"]],[32,0,["imageMimeTypes"]],[32,1,["registerFileInput"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,4],[[32,1,["errors"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"kg-settings-panel-control-info"],[12],[2,"\\n"],[6,[37,1],[[30,[36,0],[[30,[36,0],[[32,1,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"red"],[12],[1,[32,2,["message"]]],[13],[2,"\\n"]],"parameters":[2]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[1]}]]],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["-track-array","each","on","svg-jar","if","unless","fn","eq","get","not","or","kg-style","concat","did-insert","clean-basic-html","and"]}',moduleName:"koenig-editor/components/koenig-card-video.hbs"}),L=["mp4","webm","ogv"]
|
|
12318
12318
|
e.VIDEO_EXTENSIONS=L
|
|
12319
12319
|
const F=["video/mp4","video/webm","video/ogg"]
|
|
12320
12320
|
e.VIDEO_MIME_TYPES=F
|
|
@@ -12378,7 +12378,7 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
|
|
|
12378
12378
|
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 le(e,t,r,n,i){var o={}
|
|
12379
12379
|
return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.TESTING_EXPANDO_PROPERTY=e.SPECIAL_MARKUPS=e.REMOVE_CARD_HOOK=e.REMOVE_ATOM_HOOK=e.NO_CURSOR_MOVEMENT=e.MOBILEDOC_VERSION=e.CURSOR_BEFORE=e.CURSOR_AFTER=e.BLANK_DOC=e.ADD_CARD_HOOK=e.ADD_ATOM_HOOK=void 0,e.arrayToMap=ye,e.default=void 0,e.getBlankMobileDoc=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"p"
|
|
12380
12380
|
return{...ve,sections:[[1,e,[[0,[],0,""]]]]}},e.toggleSpecialFormatEditState=_e
|
|
12381
|
-
const ue=Ember.HTMLBars.template({id:"
|
|
12381
|
+
const ue=Ember.HTMLBars.template({id:"e8aTu/+I",block:'{"symbols":["atom","card","selector","@snippets","@saveSnippet","@updateSnippet","@postType"],"statements":[[10,"div"],[14,0,"koenig-editor__editor-wrapper"],[14,"data-kg","editor-wrapper"],[12],[2,"\\n "],[10,"div"],[14,0,"koenig-editor__editor"],[14,"data-kg","editor"],[12],[13],[2,"\\n"],[13],[2,"\\n\\n"],[8,"koenig-toolbar",[],[["@editor","@editorRange","@activeMarkupTagNames","@activeSectionTagNames","@toggleMarkup","@toggleSection","@toggleHeaderSection","@editLink","@addSnippet"],[[32,0,["editor"]],[32,0,["selectedRange"]],[32,0,["activeMarkupTagNames"]],[32,0,["activeSectionTagNames"]],[30,[36,1],[[32,0],"toggleMarkup"],null],[30,[36,1],[[32,0],"toggleSection"],null],[30,[36,1],[[32,0],"toggleHeaderSection"],null],[30,[36,1],[[32,0],"editLink"],null],[32,0,["addSnippetIfPossible"]]]],null],[2,"\\n\\n"],[8,"koenig-link-toolbar",[],[["@editor","@container","@linkRange","@selectedRange","@editLink"],[[32,0,["editor"]],[32,0,["element"]],[32,0,["linkRange"]],[32,0,["selectedRange"]],[30,[36,1],[[32,0],"editLink"],null]]],null],[2,"\\n\\n"],[6,[37,6],[[32,0,["linkRange"]]],null,[["default"],[{"statements":[[2," "],[8,"koenig-link-input",[],[["@editor","@linkRange","@linkRect","@selectedRange","@cancel"],[[32,0,["editor"]],[32,0,["linkRange"]],[32,0,["linkRect"]],[32,0,["selectedRange"]],[30,[36,1],[[32,0],"cancelEditLink"],null]]],null],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,6],[[32,0,["snippetRange"]]],null,[["default"],[{"statements":[[2," "],[8,"koenig-snippet-input",[],[["@editor","@snippetRange","@snippetRect","@snippets","@save","@update","@cancel"],[[32,0,["editor"]],[32,0,["snippetRange"]],[32,0,["snippetRect"]],[32,4],[32,5],[32,6],[32,0,["cancelAddSnippet"]]]],null],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,6],[[32,0,["activeSelectorComponent"]]],null,[["default"],[{"statements":[[2," "],[8,"koenig-media-selector",[],[["@editor","@editorRange","@replaceWithCardSection","@scrollContainerSelector","@close"],[[32,0,["editor"]],[32,0,["selectedRange"]],[30,[36,1],[[32,0],"replaceWithCardSection"],null],[32,0,["scrollContainerSelector"]],[30,[36,1],[[32,0],"closeSelectorComponent"],null]]],[["default"],[{"statements":[[2,"\\n "],[1,[30,[36,3],[[32,0,["activeSelectorComponent"]]],[["selector"],[[32,3]]]]],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[8,"koenig-plus-menu",[],[["@editor","@editorRange","@snippets","@replaceWithCardSection","@replaceWithPost","@openSelectorComponent","@menuItems"],[[32,0,["editor"]],[32,0,["selectedRange"]],[32,0,["snippets"]],[30,[36,1],[[32,0],"replaceWithCardSection"],null],[30,[36,1],[[32,0],"replaceWithPost"],null],[30,[36,1],[[32,0],"openSelectorComponent"],null],[30,[36,7],null,[["postType","snippets","deleteSnippet"],[[32,7],[32,0,["snippets"]],[32,0,["deleteSnippet"]]]]]]],null],[2,"\\n\\n"],[8,"koenig-slash-menu",[],[["@editor","@editorRange","@snippets","@replaceWithCardSection","@replaceWithPost","@openSelectorComponent","@menuItems"],[[32,0,["editor"]],[32,0,["selectedRange"]],[32,0,["snippets"]],[30,[36,1],[[32,0],"replaceWithCardSection"],null],[30,[36,1],[[32,0],"replaceWithPost"],null],[30,[36,1],[[32,0],"openSelectorComponent"],null],[30,[36,7],null,[["postType","snippets","deleteSnippet"],[[32,7],[32,0,["snippets"]],[32,0,["deleteSnippet"]]]]]]],null],[2,"\\n\\n"],[6,[37,9],[[30,[36,8],[[30,[36,8],[[32,0,["componentCards"]]],null]],null]],null,[["default"],[{"statements":[[6,[37,4],[[32,2,["destinationElement"]]],[["guid","insertBefore"],["%cursor:1%",[29]]],[["default"],[{"statements":[[2," "],[1,[30,[36,3],[[32,2,["componentName"]]],[["editor","postModel","cardName","payload","env","options","headerOffset","saveCard","cancelCard","removeCard","scrollToCard","isSelected","isEditing","selectCard","deselectCard","editCard","deleteCard","saveAsSnippet","moveCursorToPrevSection","moveCursorToNextSection","addParagraphAfterCard","registerComponent"],[[32,0,["editor"]],[32,2,["postModel"]],[32,2,["cardName"]],[32,2,["payload"]],[32,2,["env"]],[32,2,["options"]],[32,0,["headerOffset"]],[30,[36,1],[[32,0],[32,2,["env","save"]]],null],[30,[36,1],[[32,0],[32,2,["env","cancel"]]],null],[30,[36,1],[[32,0],[32,2,["env","remove"]]],null],[30,[36,1],[[32,0],"_scrollToCard",[32,2]],null],[32,2,["isSelected"]],[32,2,["isEditing"]],[30,[36,1],[[32,0],"_selectCard",[32,2]],null],[30,[36,1],[[32,0],"_deselectCard",[32,2]],null],[30,[36,1],[[32,0],"_editCard",[32,2]],null],[30,[36,1],[[32,0],"_deleteCard",[32,2]],null],[30,[36,6],[[32,0,["saveCardAsSnippetIfPossible"]],[30,[36,2],[[30,[36,5],[[32,0,["saveCardAsSnippetIfPossible"]]],null],[32,2]],null]],null],[30,[36,1],[[32,0],"moveCursorToPrevSection",[32,2]],null],[30,[36,1],[[32,0],"moveCursorToNextSection",[32,2]],null],[30,[36,1],[[32,0],"addParagraphAfterCard",[32,2]],null],[30,[36,1],[[32,0],[30,[36,0],[[32,2,["component"]]],null]],null]]]]],[2,"\\n"]],"parameters":[]}]]]],"parameters":[2]}]]],[2,"\\n"],[6,[37,9],[[30,[36,8],[[30,[36,8],[[32,0,["componentAtoms"]]],null]],null]],null,[["default"],[{"statements":[[6,[37,4],[[32,1,["destinationElement"]]],[["guid","insertBefore"],["%cursor:0%",[29]]],[["default"],[{"statements":[[2," "],[1,[30,[36,3],[[32,1,["componentName"]]],[["editor","atom","saveAtom","registerComponent"],[[32,0,["editor"]],[32,1],[30,[36,2],[[32,1,["env","save"]],[32,1,["env","value"]],[32,1,["env","payload"]]],null],[30,[36,1],[[32,0],[30,[36,0],[[32,1,["component"]]],null]],null]]]]],[2,"\\n"]],"parameters":[]}]]]],"parameters":[1]}]]]],"hasEval":false,"upvars":["mut","action","fn","component","in-element","optional","if","card-menu-items","-track-array","each"]}',moduleName:"koenig-editor/components/koenig-editor.hbs"}),{countWords:de}=_.utils,ce="addComponent"
|
|
12382
12382
|
e.ADD_CARD_HOOK=ce
|
|
12383
12383
|
const he="removeComponent"
|
|
12384
12384
|
e.REMOVE_CARD_HOOK=he
|
|
@@ -12612,24 +12612,21 @@ this._containerElem.style.top=`${r}px`}}},l(s.prototype,"didInsertContainer",[r]
|
|
|
12612
12612
|
e.default=d,Ember._setComponentTemplate(u,d)})),define("koenig-editor/components/koenig-menu-content",["exports","@glimmer/component"],(function(e,t){"use strict"
|
|
12613
12613
|
var r,n
|
|
12614
12614
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
12615
|
-
const i=Ember.HTMLBars.template({id:"
|
|
12615
|
+
const i=Ember.HTMLBars.template({id:"Q5tkV3DX",block:'{"symbols":["section","sectionIndex","item","@selectedItem","@itemClicked","@itemSections"],"statements":[[6,[37,9],[[30,[36,8],[[30,[36,8],[[32,6]],null]],null]],null,[["default"],[{"statements":[[6,[37,4],[[32,1,["items"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[15,0,[31,["flex flex-column justify-center flex-shrink-0 ",[30,[36,7],[[30,[36,3],[[32,2],0],null],"mt3 bt b--whitegrey"],null]," mb2 pl4 pr4 pt3 midlightgrey ttu f-supersmall fw5 tracked-3"]]],[14,5,"min-width: calc(100% - 3.2rem);"],[12],[2,"\\n "],[1,[32,1,["title"]]],[2,"\\n "],[13],[2,"\\n"],[6,[37,9],[[30,[36,8],[[30,[36,8],[[32,1,["items"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"div"],[16,0,[31,[[30,[36,4],[[30,[36,3],[[32,3],[32,4]],null],"kg-cardmenu-card-selected"],null]," ",[30,[36,2],["cardmenu-card"],null]]]],[24,"data-kg","cardmenu-card"],[24,"role","menuitem"],[16,"title",[31,[[32,3,["label"]]]]],[4,[38,0],["click",[30,[36,5],[[32,5],[32,3]],null]],null],[4,[38,6],[[32,0,["scrollIntoView"]],[30,[36,3],[[32,3],[32,4]],null]],null],[12],[2,"\\n "],[10,"div"],[15,0,[31,[[30,[36,2],["cardmenu-icon"],null]," ",[32,3,["iconClass"]]]]],[14,"aria-hidden","true"],[12],[1,[30,[36,1],[[32,3,["icon"]]],[["class"],["w7 h7"]]]],[13],[2,"\\n "],[10,"div"],[15,0,[31,[[30,[36,2],["cardmenu-text"],null]]]],[12],[2,"\\n "],[10,"div"],[15,0,[31,[[30,[36,2],["cardmenu-label"],null]]]],[12],[1,[32,3,["label"]]],[13],[2,"\\n "],[10,"div"],[15,0,[31,[[30,[36,2],["cardmenu-desc"],null]]]],[12],[1,[32,3,["desc"]]],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,4],[[32,3,["deleteClicked"]]],null,[["default"],[{"statements":[[2," "],[11,"span"],[24,0,"kg-cardmenu-action-icon red"],[4,[38,0],["click",[32,3,["deleteClicked"]]],null],[12],[1,[30,[36,1],["trash"],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[3]}]]]],"parameters":[]}]]]],"parameters":[1,2]}]]]],"hasEval":false,"upvars":["on","svg-jar","kg-style","eq","if","fn","did-update","unless","-track-array","each"]}',moduleName:"koenig-editor/components/koenig-menu-content.hbs"})
|
|
12616
12616
|
let o=(r=Ember._action,n=class extends t.default{scrollIntoView(e,t){let[r]=t
|
|
12617
12617
|
r&&e.scrollIntoView({behavior:"smooth",block:"nearest"})}},a=n.prototype,s="scrollIntoView",l=[r],u=Object.getOwnPropertyDescriptor(n.prototype,"scrollIntoView"),d=n.prototype,c={},Object.keys(u).forEach((function(e){c[e]=u[e]})),c.enumerable=!!c.enumerable,c.configurable=!!c.configurable,("value"in c||c.initializer)&&(c.writable=!0),c=l.slice().reverse().reduce((function(e,t){return t(a,s,e)||e}),c),d&&void 0!==c.initializer&&(c.value=c.initializer?c.initializer.call(d):void 0,c.initializer=void 0),void 0===c.initializer&&(Object.defineProperty(a,s,c),c=null),n)
|
|
12618
12618
|
var a,s,l,u,d,c
|
|
12619
|
-
e.default=o,Ember._setComponentTemplate(i,o)})),define("koenig-editor/components/koenig-plus-menu",["exports","mobiledoc-kit/parsers/mobiledoc","
|
|
12620
|
-
var o,a,s,l,u,d
|
|
12621
|
-
function
|
|
12619
|
+
e.default=o,Ember._setComponentTemplate(i,o)})),define("koenig-editor/components/koenig-plus-menu",["exports","mobiledoc-kit/parsers/mobiledoc","@ember-decorators/component"],(function(e,t,r){"use strict"
|
|
12620
|
+
var n,i,o,a,s,l,u,d
|
|
12621
|
+
function c(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
|
|
12622
12622
|
var r=e[Symbol.toPrimitive]
|
|
12623
12623
|
if(void 0!==r){var n=r.call(e,t||"default")
|
|
12624
12624
|
if("object"!=typeof n)return n
|
|
12625
12625
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
12626
|
-
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
|
|
12626
|
+
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 h(e,t,r,n,i){var o={}
|
|
12627
12627
|
return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
12628
|
-
const
|
|
12629
|
-
let
|
|
12630
|
-
if(e?.length){let n={title:"Snippets",items:[],rowLength:1}
|
|
12631
|
-
e.forEach((e=>{let t={label:e.name,icon:(0,r.default)(e),type:"snippet",matches:[e.name.toLowerCase()]}
|
|
12632
|
-
this.deleteSnippet&&(t.deleteClicked=t=>{t.preventDefault(),t.stopImmediatePropagation(),this.deleteSnippet(e)}),n.items.push(t)})),t.push(n)}return t}init(){super.init(...arguments),this._onResizeHandler=Ember.run.bind(this,this._handleResize),window.addEventListener("resize",this._onResizeHandler),this._onMousemoveHandler=Ember.run.bind(this,this._mousemoveRaf),window.addEventListener("mousemove",this._onMousemoveHandler)}didReceiveAttrs(){super.didReceiveAttrs(...arguments)
|
|
12628
|
+
const p=Ember.HTMLBars.template({id:"UFhfaQAV",block:'{"symbols":["@menuItems","@postType"],"statements":[[6,[37,3],[[32,0,["showButton"]]],null,[["default"],[{"statements":[[2," "],[10,"button"],[14,"aria-label","Add a card"],[14,0,"koenig-plus-menu-button flex justify-center items-center relative w7 h7 w9-ns h9-ns ba b--midlightgrey-l2 bg-white br-100 anim-normal"],[15,"onclick",[30,[36,1],[[32,0],"openMenu"],null]],[14,4,"button"],[12],[1,[30,[36,2],["plus"],[["class"],["w4 h4 stroke-middarkgrey"]]]],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,3],[[32,0,["showMenu"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[15,0,[31,[[30,[36,0],["cardmenu"],null]," pa0"]]],[14,"role","menu"],[12],[2,"\\n"],[2," "],[8,"koenig-menu-content",[],[["@itemSections","@itemClicked","@postType"],[[32,1],[30,[36,1],[[32,0],"itemClicked"],null],[32,2]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["kg-style","action","svg-jar","if"]}',moduleName:"koenig-editor/components/koenig-plus-menu.hbs"})
|
|
12629
|
+
let f=(n=(0,r.classNames)("absolute"),i=(0,r.attributeBindings)("style","data-kg"),o=Ember.computed("top"),a=Ember._action,s=Ember._action,l=Ember._action,n(u=i((d=class extends Ember.Component{constructor(){super(...arguments),c(this,"editor",null),c(this,"editorRange",null),c(this,"snippets",null),c(this,"showButton",!1),c(this,"showMenu",!1),c(this,"top",0),c(this,"data-kg","plus-menu"),c(this,"_onResizeHandler",null),c(this,"_onWindowMousedownHandler",null),c(this,"_lastEditorRange",null),c(this,"_hasCursorButton",!1),c(this,"_onMousemoveHandler",null),c(this,"_onKeydownHandler",null)}replaceWithCardSection(){}get style(){return Ember.String.htmlSafe(`top: ${this.top}px`)}init(){super.init(...arguments),this._onResizeHandler=Ember.run.bind(this,this._handleResize),window.addEventListener("resize",this._onResizeHandler),this._onMousemoveHandler=Ember.run.bind(this,this._mousemoveRaf),window.addEventListener("mousemove",this._onMousemoveHandler)}didReceiveAttrs(){super.didReceiveAttrs(...arguments)
|
|
12633
12630
|
let e=this.editorRange
|
|
12634
12631
|
this.showMenu||e===this._lastEditorRange||(this._showOrHideButton(e),this._hasCursorButton=this.showButton),this.showButton&&Ember.run.next(this,this._positionMenu),this._ignoreRangeChange||!this.showMenu||!e||e.isBlank||e.isEqual(this._lastEditorRange)||this._hideMenu(),this._lastEditorRange=e,this._ignoreRangeChange=!1}willDestroyElement(){super.willDestroyElement(...arguments),Ember.run.cancel(this._throttleResize),window.removeEventListener("mousedown",this._onWindowMousedownHandler),window.removeEventListener("resize",this._onResizeHandler),window.removeEventListener("mousemove",this._onMousemoveHandler),window.removeEventListener("keydown",this._onKeydownHandler)}openMenu(){this._showMenu()}closeMenu(){this._hideMenu()}itemClicked(e,r){r&&r.preventDefault()
|
|
12635
12632
|
let n=this._editorRange
|
|
@@ -12645,8 +12642,8 @@ e&&e.focus()}_handleWindowMousedown(e){e.target.closest(`#${this.elementId}, .fu
|
|
|
12645
12642
|
r<this.element.parentNode.getBoundingClientRect().left&&(r+=40)
|
|
12646
12643
|
try{let e=i.positionAtPoint(r,n)
|
|
12647
12644
|
if(e){let t=e.toRange()
|
|
12648
|
-
this._showOrHideButton(t)}}catch(t){t instanceof TypeError==!1&&console.error(t)}!this.showButton&&this._hasCursorButton&&this._showOrHideButton(this.editorRange)}this._mousemoveTicking=!1}_handleKeydown(e){if("Escape"===e.key)return this._moveCaretToCachedEditorRange(),void this._hideMenu();["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.key)&&this._hideMenu()}_handleResize(){this.showButton&&(this._throttleResize=Ember.run.throttle(this,this._positionMenu,100))}_moveCaretToCachedEditorRange(){this._ignoreRangeChange=!0,this.set("editorRange",this._editorRange),this.editor.selectRange(this._editorRange)}},
|
|
12649
|
-
e.default=
|
|
12645
|
+
this._showOrHideButton(t)}}catch(t){t instanceof TypeError==!1&&console.error(t)}!this.showButton&&this._hasCursorButton&&this._showOrHideButton(this.editorRange)}this._mousemoveTicking=!1}_handleKeydown(e){if("Escape"===e.key)return this._moveCaretToCachedEditorRange(),void this._hideMenu();["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.key)&&this._hideMenu()}_handleResize(){this.showButton&&(this._throttleResize=Ember.run.throttle(this,this._positionMenu,100))}_moveCaretToCachedEditorRange(){this._ignoreRangeChange=!0,this.set("editorRange",this._editorRange),this.editor.selectRange(this._editorRange)}},h(d.prototype,"style",[o],Object.getOwnPropertyDescriptor(d.prototype,"style"),d.prototype),h(d.prototype,"openMenu",[a],Object.getOwnPropertyDescriptor(d.prototype,"openMenu"),d.prototype),h(d.prototype,"closeMenu",[s],Object.getOwnPropertyDescriptor(d.prototype,"closeMenu"),d.prototype),h(d.prototype,"itemClicked",[l],Object.getOwnPropertyDescriptor(d.prototype,"itemClicked"),d.prototype),u=d))||u)||u)
|
|
12646
|
+
e.default=f,Ember._setComponentTemplate(p,f)})),define("koenig-editor/components/koenig-settings-panel",["exports","@glimmer/component","ember-concurrency"],(function(e,t,r){"use strict"
|
|
12650
12647
|
var n,i,o,a,s
|
|
12651
12648
|
function l(e,t,r,n,i){var o={}
|
|
12652
12649
|
return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -12660,28 +12657,25 @@ o+t.width>window.innerWidth-20&&(o=window.innerWidth-t.width-20),e.style.top=`${
|
|
|
12660
12657
|
const i=e.getBoundingClientRect(),o=i.top<0,a=i.bottom>window.innerHeight
|
|
12661
12658
|
if(o&&a)return{x:r,y:n}
|
|
12662
12659
|
if(o){return{x:r,y:n+(Math.abs(i.top)+10)}}if(a){return{x:r,y:n+(-Math.abs(i.bottom-window.innerHeight)-10)}}return{x:r,y:n}}},l(s.prototype,"registerAndPosition",[n],Object.getOwnPropertyDescriptor(s.prototype,"registerAndPosition"),s.prototype),l(s.prototype,"positionPanel",[i],Object.getOwnPropertyDescriptor(s.prototype,"positionPanel"),s.prototype),l(s.prototype,"debounceWindowResizeTask",[o],Object.getOwnPropertyDescriptor(s.prototype,"debounceWindowResizeTask"),s.prototype),l(s.prototype,"calculateResizeAdjustment",[a],Object.getOwnPropertyDescriptor(s.prototype,"calculateResizeAdjustment"),s.prototype),s)
|
|
12663
|
-
e.default=d,Ember._setComponentTemplate(u,d)})),define("koenig-editor/components/koenig-slash-menu",["exports","@glimmer/component","mobiledoc-kit/parsers/mobiledoc"
|
|
12664
|
-
var o,a,s,l,u,d,c,h,p,f,m,g
|
|
12665
|
-
function
|
|
12660
|
+
e.default=d,Ember._setComponentTemplate(u,d)})),define("koenig-editor/components/koenig-slash-menu",["exports","@glimmer/component","mobiledoc-kit/parsers/mobiledoc"],(function(e,t,r){"use strict"
|
|
12661
|
+
var n,i,o,a,s,l,u,d,c,h,p,f,m,g
|
|
12662
|
+
function v(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function b(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
|
|
12666
12663
|
var r=e[Symbol.toPrimitive]
|
|
12667
12664
|
if(void 0!==r){var n=r.call(e,t||"default")
|
|
12668
12665
|
if("object"!=typeof n)return n
|
|
12669
12666
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
12670
|
-
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
|
|
12667
|
+
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 y(e,t,r,n,i){var o={}
|
|
12671
12668
|
return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
12672
|
-
const
|
|
12673
|
-
let
|
|
12669
|
+
const _=Ember.HTMLBars.template({id:"Mpu1fvcX",block:'{"symbols":["&attrs","@editor","@editorRange","@snippets"],"statements":[[11,"div"],[24,1,"koenig-slash-menu"],[24,0,"absolute"],[17,1],[4,[38,1],[[32,0,["registerContainerElement"]]],null],[4,[38,2],[[32,0,["registerEditor"]],[32,2]],null],[4,[38,2],[[32,0,["handleCursorChange"]],[32,3]],null],[4,[38,2],[[32,0,["updateItemSections"]],[32,4]],null],[12],[2,"\\n"],[6,[37,4],[[30,[36,3],[[32,0,["showMenu"]],[32,0,["itemSections"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[15,0,[31,["koenig-cardmenu ",[30,[36,0],["cardmenu"],null]]]],[14,"role","menu"],[12],[2,"\\n "],[8,"koenig-menu-content",[],[["@itemSections","@selectedItem","@itemClicked"],[[32,0,["itemSections"]],[32,0,["selectedItem"]],[32,0,["itemClicked"]]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[13]],"hasEval":false,"upvars":["kg-style","did-insert","did-update","and","if"]}',moduleName:"koenig-editor/components/koenig-slash-menu.hbs"})
|
|
12670
|
+
let E=(n=Ember._tracked,i=Ember._tracked,o=Ember._tracked,a=Ember._tracked,s=Ember._action,l=Ember._action,u=Ember._action,d=Ember._action,c=Ember._action,h=class extends t.default{constructor(){super(...arguments),v(this,"itemSections",p,this),v(this,"showMenu",f,this),v(this,"selectedRowIndex",m,this),v(this,"selectedColumnIndex",g,this),b(this,"query",""),this.registerEditor(null,[this.args.editor])}willDestroy(){super.willDestroy?.(...arguments),window.removeEventListener("mousedown",this._onWindowMousedownHandler)}get itemMap(){let e=[]
|
|
12674
12671
|
return this.itemSections.forEach((t=>{let r=Math.ceil(t.items.length/t.rowLength)
|
|
12675
12672
|
for(let n=0;n<r;n++){let r=n*t.rowLength
|
|
12676
|
-
e.push(t.items.slice(r,r+t.rowLength))}})),e}get selectedItem(){return this.itemMap[this.selectedRowIndex]?.[this.selectedColumnIndex]}updateItemSections(){let
|
|
12677
|
-
|
|
12678
|
-
|
|
12679
|
-
this.args.deleteSnippet&&(t.deleteClicked=t=>{t.preventDefault(),t.stopImmediatePropagation(),this.args.deleteSnippet(e)}),r.items.push(t)})),t.push(r)}let r=(e=>{let t=e.split(/\s/)[0].replace(/^\//,"")
|
|
12680
|
-
return r=>!e||(Ember.isArray(r.matches)?!t||r.matches.any((e=>0===e.indexOf(t.toLowerCase()))):"function"==typeof r.matches&&r.matches(e))})(this.query),o=t.map((e=>{let t=e.items.filter(r)
|
|
12681
|
-
if(t.length>0)return Object.assign({},e,{items:t})})).compact()
|
|
12673
|
+
e.push(t.items.slice(r,r+t.rowLength))}})),e}get selectedItem(){return this.itemMap[this.selectedRowIndex]?.[this.selectedColumnIndex]}updateItemSections(){let e=[...this.args.menuItems],t=(e=>{let t=e.split(/\s/)[0].replace(/^\//,"")
|
|
12674
|
+
return r=>!e||(Ember.isArray(r.matches)?!t||r.matches.any((e=>0===e.indexOf(t.toLowerCase()))):"function"==typeof r.matches&&r.matches(e))})(this.query),r=e.map((e=>{let r=e.items.filter(t)
|
|
12675
|
+
if(r.length>0)return Object.assign({},e,{items:r})})).compact()
|
|
12682
12676
|
this.query!==this._lastQuery&&(this.selectedRowIndex=0,this.selectedColumnIndex=0)
|
|
12683
|
-
const
|
|
12684
|
-
"selector"!==
|
|
12677
|
+
const n=r[0]?.items[0]
|
|
12678
|
+
"selector"!==n?.type&&!0!==n?.insertOnSpace||" "!==this.query.charAt(this.query.length-1)||this.itemClicked(r[0].items[0]),this.itemSections=r}registerContainerElement(e){this.containerElement=e}registerEditor(e,t){let[r]=t
|
|
12685
12679
|
r.onTextInput({name:"slash_menu",text:"/",run:this._showMenu.bind(this)})}handleCursorChange(e,t){let[r]=t
|
|
12686
12680
|
if(this._positionMenu(r),this.showMenu&&r){let{head:{section:e}}=r
|
|
12687
12681
|
if(e&&(e.text||""===e.text)&&0!==e.text.indexOf("/"))return void this._hideMenu()
|
|
@@ -12699,8 +12693,8 @@ this.containerElement.style.top=`${n}px`}}_showMenu(){let{editorRange:e}=this.ar
|
|
|
12699
12693
|
if(Ember.isEmpty(t))return
|
|
12700
12694
|
let i=t.length-1,o=t[r].length-1
|
|
12701
12695
|
"right"===e?(n+=1,n>o&&(r<i?r+=1:r=0,n=0)):"left"===e?(n-=1,n<0&&(r>0?r-=1:r=t.length-1,n=t[r].length-1)):"up"===e?(r-=1,r<0&&(r=i)):"down"===e&&(r+=1,r>i&&(r=0)),n>t[r].length-1&&(n=t[r].length-1),this.selectedRowIndex=r,this.selectedColumnIndex=n}_performAction(){this.selectedItem&&this.itemClicked(this.selectedItem)}_handleWindowMousedown(e){e.target.closest(`#${this.containerElement.id}, .fullscreen-modal-container`)?e.target.closest('[data-kg="cardmenu-card"]')||e.preventDefault():this._hideMenu()}_registerEditorKeyboardNavHandlers(){let{editor:e}=this.args
|
|
12702
|
-
e.registerKeyCommand({str:"ESC",name:"slash-menu",run:Ember.run.bind(this,this._hideMenu)}),e.registerKeyCommand({str:"ENTER",name:"slash-menu",run:Ember.run.bind(this,this._performAction)}),e.registerKeyCommand({str:"UP",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"up")}),e.registerKeyCommand({str:"DOWN",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"down")}),e.registerKeyCommand({str:"LEFT",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"left")}),e.registerKeyCommand({str:"RIGHT",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"right")})}_unregisterEditorKeyboardNavHandlers(){this.args.editor.unregisterKeyCommands("slash-menu")}},
|
|
12703
|
-
e.default=
|
|
12696
|
+
e.registerKeyCommand({str:"ESC",name:"slash-menu",run:Ember.run.bind(this,this._hideMenu)}),e.registerKeyCommand({str:"ENTER",name:"slash-menu",run:Ember.run.bind(this,this._performAction)}),e.registerKeyCommand({str:"UP",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"up")}),e.registerKeyCommand({str:"DOWN",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"down")}),e.registerKeyCommand({str:"LEFT",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"left")}),e.registerKeyCommand({str:"RIGHT",name:"slash-menu",run:Ember.run.bind(this,this._moveSelection,"right")})}_unregisterEditorKeyboardNavHandlers(){this.args.editor.unregisterKeyCommands("slash-menu")}},p=y(h.prototype,"itemSections",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),f=y(h.prototype,"showMenu",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),m=y(h.prototype,"selectedRowIndex",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),g=y(h.prototype,"selectedColumnIndex",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),y(h.prototype,"updateItemSections",[s],Object.getOwnPropertyDescriptor(h.prototype,"updateItemSections"),h.prototype),y(h.prototype,"registerContainerElement",[l],Object.getOwnPropertyDescriptor(h.prototype,"registerContainerElement"),h.prototype),y(h.prototype,"registerEditor",[u],Object.getOwnPropertyDescriptor(h.prototype,"registerEditor"),h.prototype),y(h.prototype,"handleCursorChange",[d],Object.getOwnPropertyDescriptor(h.prototype,"handleCursorChange"),h.prototype),y(h.prototype,"itemClicked",[c],Object.getOwnPropertyDescriptor(h.prototype,"itemClicked"),h.prototype),h)
|
|
12697
|
+
e.default=E,Ember._setComponentTemplate(_,E)})),define("koenig-editor/components/koenig-snippet-input",["exports","@glimmer/component","koenig-editor/utils/get-scroll-parent","koenig-editor/components/koenig-toolbar"],(function(e,t,r,n){"use strict"
|
|
12704
12698
|
var i,o,a,s,l,u,d,c,h,p,f
|
|
12705
12699
|
function m(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function g(e,t,r,n,i){var o={}
|
|
12706
12700
|
return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -12782,13 +12776,16 @@ let o=50
|
|
|
12782
12776
|
if(i.left<0){i.left=0,o=(t.left-e.left+t.width/2)/r*100,o<5&&(o=5)}if(i.left+r>e.width){i.left=null,i.right=0,o=100+(t.right-e.right-t.width/2)/r*100,o>95&&(o=95)}this._removeStyleElement(),50!==o&&this._addStyleElement(o),this.setProperties(i)}_addStyleElement(e){let t=`left: calc(${e}% - 10px);`,r=`left: calc(${e}% - 8px);`,n=document.createElement("style")
|
|
12783
12777
|
n.id=`${this.elementId}-style`,n.innerHTML=`\n #${this.elementId} > ul:before { ${t} }\n #${this.elementId} > ul:after { ${r} }\n `,document.head.appendChild(n)}_removeStyleElement(){let e=document.querySelector(`#${this.elementId}-style`)
|
|
12784
12778
|
e&&e.remove()}},f=b(p.prototype,"feature",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b(p.prototype,"style",[a],Object.getOwnPropertyDescriptor(p.prototype,"style"),p.prototype),b(p.prototype,"_toggleMarkup",[s],Object.getOwnPropertyDescriptor(p.prototype,"_toggleMarkup"),p.prototype),b(p.prototype,"toggleQuoteSection",[l],Object.getOwnPropertyDescriptor(p.prototype,"toggleQuoteSection"),p.prototype),b(p.prototype,"_toggleHeaderSection",[u],Object.getOwnPropertyDescriptor(p.prototype,"_toggleHeaderSection"),p.prototype),b(p.prototype,"_editLink",[d],Object.getOwnPropertyDescriptor(p.prototype,"_editLink"),p.prototype),m=b(p.prototype,"_toggleVisibility",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=p))||h)||h)
|
|
12785
|
-
e.default=_,Ember._setComponentTemplate(y,_)})),define("koenig-editor/helpers/card-
|
|
12786
|
-
var
|
|
12787
|
-
function
|
|
12779
|
+
e.default=_,Ember._setComponentTemplate(y,_)})),define("koenig-editor/helpers/card-menu-items",["exports","koenig-editor/utils/snippet-icon","koenig-editor/options/cards","ghost-admin/decorators/inject"],(function(e,t,r,n){"use strict"
|
|
12780
|
+
var i,o,a,s,l,u
|
|
12781
|
+
function d(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function c(e,t,r,n,i){var o={}
|
|
12788
12782
|
return Object.keys(n).forEach((function(e){o[e]=n[e]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n(e,t,r)||r}),o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
12789
|
-
let
|
|
12790
|
-
|
|
12791
|
-
e.
|
|
12783
|
+
let h=(i=Ember.inject.service,o=Ember.inject.service,a=class extends Ember.Helper{constructor(){super(...arguments),d(this,"feature",s,this),d(this,"settings",l,this),d(this,"config",u,this)}compute(e){let{postType:n,snippets:i,deleteSnippet:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=JSON.parse(JSON.stringify(r.CARD_MENU))
|
|
12784
|
+
if(a=a.filter((e=>!e.developerExperiment||this.config.enableDeveloperExperiments)),a.forEach((e=>{e.items=e.items.filter((e=>{let t=!0
|
|
12785
|
+
return"string"==typeof e.isAvailable&&(t=Ember.get(this,e.isAvailable)),Ember.isArray(e.isAvailable)&&(t=e.isAvailable.every((e=>Ember.get(this,e)))),e.developerExperiment&&(t=t&&this.config.enableDeveloperExperiments),n&&e.postType&&(t=t&&e.postType===n),t}))})),i?.length){let e={title:"Snippets",items:[],rowLength:1}
|
|
12786
|
+
i.forEach((r=>{let n={label:r.name,icon:(0,t.default)(r),type:"snippet",matches:e=>r.name.toLowerCase().indexOf(e)>-1}
|
|
12787
|
+
o&&(n.deleteClicked=e=>{e.preventDefault(),e.stopImmediatePropagation(),o(r)}),e.items.push(n)})),a.push(e)}return a}},s=c(a.prototype,"feature",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=c(a.prototype,"settings",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=c(a.prototype,"config",[n.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a)
|
|
12788
|
+
e.default=h})),define("koenig-editor/helpers/clean-basic-html",["exports","@tryghost/kg-clean-basic-html"],(function(e,t){"use strict"
|
|
12792
12789
|
function r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:""
|
|
12793
12790
|
return Ember.isArray(e)&&(e=e[0]||""),(0,t.default)(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.cleanBasicHtmlHelper=r,e.default=void 0
|
|
12794
12791
|
var n=Ember.Helper.helper(r)
|
|
@@ -13677,4 +13674,4 @@ return void 0===n&&(n=(0,t.createStorage)(null,(()=>!1)),r.set(e,n)),n}dirtyStor
|
|
|
13677
13674
|
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"
|
|
13678
13675
|
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}})}))
|
|
13679
13676
|
|
|
13680
|
-
//# sourceMappingURL=vendor-
|
|
13677
|
+
//# sourceMappingURL=vendor-0441964c34d58f2aacd5a04bbe240243.map
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<title>Ghost Admin</title>
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%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%225.
|
|
11
|
+
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%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%225.31%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%7D" />
|
|
12
12
|
|
|
13
13
|
<meta name="HandheldFriendly" content="True" />
|
|
14
14
|
<meta name="MobileOptimized" content="320" />
|
|
@@ -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-721a7adc4ca642c88e4ac85e1cb8b385.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-
|
|
59
|
+
<script src="assets/vendor-0441964c34d58f2aacd5a04bbe240243.js"></script>
|
|
60
60
|
<script src="assets/chunk.47.f29250a4560868c21293.js"></script>
|
|
61
|
-
<script src="assets/chunk.143.
|
|
62
|
-
<script src="assets/ghost-
|
|
61
|
+
<script src="assets/chunk.143.7ef8d39b50a9ef3d6a6b.js"></script>
|
|
62
|
+
<script src="assets/ghost-fc0450a45ea5be2e5a10c4d897d5b430.js"></script>
|
|
63
63
|
</body>
|
|
64
64
|
</html>
|
|
@@ -83,6 +83,17 @@ function getSearchHelper(frontendKey) {
|
|
|
83
83
|
return helper;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
function getWebmentionDiscoveryLink() {
|
|
87
|
+
try {
|
|
88
|
+
const siteUrl = urlUtils.getSiteUrl();
|
|
89
|
+
const webmentionUrl = new URL('webmentions/receive/', siteUrl);
|
|
90
|
+
return `<link href="${webmentionUrl.href}" rel="webmention" />`;
|
|
91
|
+
} catch (err) {
|
|
92
|
+
logging.warn(err);
|
|
93
|
+
return '';
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
86
97
|
/**
|
|
87
98
|
* **NOTE**
|
|
88
99
|
* Express adds `_locals`, see https://github.com/expressjs/express/blob/4.15.4/lib/response.js#L962.
|
|
@@ -215,6 +226,11 @@ module.exports = async function ghost_head(options) { // eslint-disable-line cam
|
|
|
215
226
|
if (!_.includes(context, 'amp')) {
|
|
216
227
|
head.push(getMembersHelper(options.data, frontendKey));
|
|
217
228
|
head.push(getSearchHelper(frontendKey));
|
|
229
|
+
try {
|
|
230
|
+
head.push(getWebmentionDiscoveryLink());
|
|
231
|
+
} catch (err) {
|
|
232
|
+
logging.warn(err);
|
|
233
|
+
}
|
|
218
234
|
|
|
219
235
|
// @TODO do this in a more "frameworky" way
|
|
220
236
|
if (cardAssetService.hasFile('js')) {
|
|
@@ -57,6 +57,10 @@ module.exports = {
|
|
|
57
57
|
return apiFramework.pipeline(require('./posts'), localUtils);
|
|
58
58
|
},
|
|
59
59
|
|
|
60
|
+
get mentions() {
|
|
61
|
+
return apiFramework.pipeline(require('./mentions'), localUtils);
|
|
62
|
+
},
|
|
63
|
+
|
|
60
64
|
get invites() {
|
|
61
65
|
return apiFramework.pipeline(require('./invites'), localUtils);
|
|
62
66
|
},
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const mentions = require('../../services/mentions');
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
docName: 'mentions',
|
|
5
|
+
browse: {
|
|
6
|
+
options: [
|
|
7
|
+
'filter',
|
|
8
|
+
'fields',
|
|
9
|
+
'limit',
|
|
10
|
+
'order',
|
|
11
|
+
'page',
|
|
12
|
+
'debug'
|
|
13
|
+
],
|
|
14
|
+
permissions: false,
|
|
15
|
+
query(frame) {
|
|
16
|
+
return mentions.controller.browse(frame);
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
receive: {
|
|
21
|
+
statusCode: 202, // Required for the spec because we don't have a status page
|
|
22
|
+
headers: {},
|
|
23
|
+
options: [],
|
|
24
|
+
permissions: false,
|
|
25
|
+
response: {
|
|
26
|
+
format: 'plain'
|
|
27
|
+
},
|
|
28
|
+
async query(frame) {
|
|
29
|
+
await mentions.controller.receive(frame);
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
@@ -1,25 +1,4 @@
|
|
|
1
|
-
const
|
|
2
|
-
const externalRequest = require('../../lib/request-external');
|
|
3
|
-
|
|
4
|
-
const OEmbed = require('@tryghost/oembed-service');
|
|
5
|
-
const oembed = new OEmbed({config, externalRequest});
|
|
6
|
-
|
|
7
|
-
const NFT = require('../../services/nft-oembed');
|
|
8
|
-
const nft = new NFT({
|
|
9
|
-
config: {
|
|
10
|
-
apiKey: config.get('opensea').privateReadOnlyApiKey
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
const Twitter = require('../../services/twitter-embed');
|
|
15
|
-
const twitter = new Twitter({
|
|
16
|
-
config: {
|
|
17
|
-
bearerToken: config.get('twitter').privateReadOnlyToken
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
oembed.registerProvider(nft);
|
|
22
|
-
oembed.registerProvider(twitter);
|
|
1
|
+
const oembed = require('../../services/oembed');
|
|
23
2
|
|
|
24
3
|
module.exports = {
|
|
25
4
|
docName: 'oembed',
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module.exports = (model) => {
|
|
2
|
+
const json = model.toJSON();
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
id: json.id,
|
|
6
|
+
source: json.source,
|
|
7
|
+
target: json.target,
|
|
8
|
+
timestamp: json.timestamp,
|
|
9
|
+
payload: json.payload,
|
|
10
|
+
resource_id: json.resourceId,
|
|
11
|
+
source_title: json.sourceTitle,
|
|
12
|
+
source_site_title: json.sourceSiteTitle,
|
|
13
|
+
source_excerpt: json.sourceExcerpt,
|
|
14
|
+
source_author: json.sourceAuthor,
|
|
15
|
+
source_favicon: json.sourceFavicon,
|
|
16
|
+
source_featured_image: json.sourceFeaturedImage
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -32,7 +32,10 @@ const messages = {
|
|
|
32
32
|
noContentToImport: 'Zip did not include any content to import.',
|
|
33
33
|
invalidZipStructure: 'Invalid zip file structure.',
|
|
34
34
|
invalidZipFileBaseDirectory: 'Invalid zip file: base directory read failed',
|
|
35
|
-
zipContainsMultipleDataFormats: 'Zip file contains multiple data formats. Please split up and import separately.'
|
|
35
|
+
zipContainsMultipleDataFormats: 'Zip file contains multiple data formats. Please split up and import separately.',
|
|
36
|
+
invalidZipFileNameEncoding: 'The uploaded zip could not be read',
|
|
37
|
+
invalidZipFileNameEncodingContext: 'The filename was too long or contained invalid characters',
|
|
38
|
+
invalidZipFileNameEncodingHelp: 'Remove any special characters from the file name, or alternatively try another archiving tool if using MacOS Archive Utility'
|
|
36
39
|
};
|
|
37
40
|
|
|
38
41
|
// Glob levels
|
|
@@ -170,13 +173,26 @@ class ImportManager {
|
|
|
170
173
|
* @param {string} filePath
|
|
171
174
|
* @returns {Promise<string>} full path to the extracted folder
|
|
172
175
|
*/
|
|
173
|
-
extractZip(filePath) {
|
|
176
|
+
async extractZip(filePath) {
|
|
174
177
|
const tmpDir = path.join(os.tmpdir(), uuid.v4());
|
|
175
178
|
this.fileToDelete = tmpDir;
|
|
176
179
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
})
|
|
180
|
+
try {
|
|
181
|
+
await extract(filePath, tmpDir);
|
|
182
|
+
} catch (err) {
|
|
183
|
+
if (err.message.startsWith('ENAMETOOLONG:')) {
|
|
184
|
+
// The file was probably zipped with MacOS zip utility. Which doesn't correctly set UTF-8 encoding flag.
|
|
185
|
+
// This causes ENAMETOOLONG error on Linux, because the resulting filename length is too long when decoded using the default string encoder.
|
|
186
|
+
throw new errors.UnsupportedMediaTypeError({
|
|
187
|
+
message: tpl(messages.invalidZipFileNameEncoding),
|
|
188
|
+
context: tpl(messages.invalidZipFileNameEncodingContext),
|
|
189
|
+
help: tpl(messages.invalidZipFileNameEncodingHelp),
|
|
190
|
+
code: 'INVALID_ZIP_FILE_NAME_ENCODING'
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
throw err;
|
|
194
|
+
}
|
|
195
|
+
return tmpDir;
|
|
180
196
|
}
|
|
181
197
|
|
|
182
198
|
/**
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const logging = require('@tryghost/logging');
|
|
2
|
+
const {createTransactionalMigration} = require('../../utils');
|
|
3
|
+
|
|
4
|
+
module.exports = createTransactionalMigration(
|
|
5
|
+
async function up(knex) {
|
|
6
|
+
const rows = await knex
|
|
7
|
+
.pluck('m.id')
|
|
8
|
+
.from('members AS m')
|
|
9
|
+
.innerJoin('suppressions AS s', 'm.email', '=', 's.email');
|
|
10
|
+
|
|
11
|
+
if (rows.length === 0) {
|
|
12
|
+
logging.info(`No suppressed emails found - skipping migration`);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
logging.info(`Unsubscribing ${rows.length} members from all newsletters`);
|
|
17
|
+
|
|
18
|
+
await knex('members_newsletters').whereIn('member_id', rows).del();
|
|
19
|
+
},
|
|
20
|
+
async function down() {
|
|
21
|
+
// We don't have enough information to do anything here.
|
|
22
|
+
}
|
|
23
|
+
);
|