@redneckz/wildless-cms-uni-blocks 0.14.858 → 0.14.859
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/bundle/bundle.umd.js +1 -1
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ContentPage/computeAPIFallback.d.ts +3 -0
- package/bundle/content-page-repository/ContentPageRepository.d.ts +10 -0
- package/bundle/content-page-repository/JSONDocContentBox.d.ts +8 -0
- package/bundle/content-page-repository/TransformationOptions.d.ts +4 -0
- package/bundle/content-page-repository/clearAttachmentHref.d.ts +2 -0
- package/bundle/content-page-repository/computeImgOutputPath.d.ts +3 -0
- package/bundle/content-page-repository/extensions.d.ts +3 -0
- package/bundle/content-page-repository/index.d.ts +3 -0
- package/bundle/content-page-repository/mapJSON.d.ts +1 -0
- package/bundle/content-page-repository/mergePages.d.ts +2 -0
- package/bundle/content-page-repository/replaceHeadingTags.d.ts +1 -0
- package/bundle/content-page-repository/resizeImg.d.ts +3 -0
- package/bundle/content-page-repository/transformAttachmentLink.d.ts +3 -0
- package/bundle/content-page-repository/transformContentPage.d.ts +4 -0
- package/bundle/content-page-repository/transformDocument.d.ts +3 -0
- package/bundle/content-page-repository/transformHTML.d.ts +1 -0
- package/bundle/content-page-repository/transformImg.d.ts +12 -0
- package/bundle/content-page-repository/transformMarkdown.d.ts +1 -0
- package/bundle/content-page-repository/transformPicture.d.ts +3 -0
- package/dist/components/ContentPage/computeAPIFallback.d.ts +3 -0
- package/dist/components/ContentPage/computeAPIFallback.js +22 -0
- package/dist/components/ContentPage/computeAPIFallback.js.map +1 -0
- package/dist/content-page-repository/ContentPageRepository.d.ts +10 -0
- package/dist/content-page-repository/ContentPageRepository.js +31 -0
- package/dist/content-page-repository/ContentPageRepository.js.map +1 -0
- package/dist/content-page-repository/JSONDocContentBox.d.ts +8 -0
- package/dist/content-page-repository/JSONDocContentBox.js +39 -0
- package/dist/content-page-repository/JSONDocContentBox.js.map +1 -0
- package/dist/content-page-repository/TransformationOptions.d.ts +4 -0
- package/dist/content-page-repository/TransformationOptions.js +2 -0
- package/dist/content-page-repository/TransformationOptions.js.map +1 -0
- package/dist/content-page-repository/clearAttachmentHref.d.ts +2 -0
- package/dist/content-page-repository/clearAttachmentHref.js +6 -0
- package/dist/content-page-repository/clearAttachmentHref.js.map +1 -0
- package/dist/content-page-repository/computeImgOutputPath.d.ts +3 -0
- package/dist/content-page-repository/computeImgOutputPath.js +18 -0
- package/dist/content-page-repository/computeImgOutputPath.js.map +1 -0
- package/dist/content-page-repository/extensions.d.ts +3 -0
- package/dist/content-page-repository/extensions.js +18 -0
- package/dist/content-page-repository/extensions.js.map +1 -0
- package/dist/content-page-repository/index.d.ts +3 -0
- package/dist/content-page-repository/index.js +9 -0
- package/dist/content-page-repository/index.js.map +1 -0
- package/dist/content-page-repository/mapJSON.d.ts +1 -0
- package/dist/content-page-repository/mapJSON.js +26 -0
- package/dist/content-page-repository/mapJSON.js.map +1 -0
- package/dist/content-page-repository/mergePages.d.ts +2 -0
- package/dist/content-page-repository/mergePages.js +7 -0
- package/dist/content-page-repository/mergePages.js.map +1 -0
- package/dist/content-page-repository/replaceHeadingTags.d.ts +1 -0
- package/dist/content-page-repository/replaceHeadingTags.js +5 -0
- package/dist/content-page-repository/replaceHeadingTags.js.map +1 -0
- package/dist/content-page-repository/resizeImg.d.ts +3 -0
- package/dist/content-page-repository/resizeImg.js +19 -0
- package/dist/content-page-repository/resizeImg.js.map +1 -0
- package/dist/content-page-repository/transformAttachmentLink.d.ts +3 -0
- package/dist/content-page-repository/transformAttachmentLink.js +40 -0
- package/dist/content-page-repository/transformAttachmentLink.js.map +1 -0
- package/dist/content-page-repository/transformContentPage.d.ts +4 -0
- package/dist/content-page-repository/transformContentPage.js +78 -0
- package/dist/content-page-repository/transformContentPage.js.map +1 -0
- package/dist/content-page-repository/transformDocument.d.ts +3 -0
- package/dist/content-page-repository/transformDocument.js +38 -0
- package/dist/content-page-repository/transformDocument.js.map +1 -0
- package/dist/content-page-repository/transformHTML.d.ts +1 -0
- package/dist/content-page-repository/transformHTML.js +54 -0
- package/dist/content-page-repository/transformHTML.js.map +1 -0
- package/dist/content-page-repository/transformImg.d.ts +12 -0
- package/dist/content-page-repository/transformImg.js +51 -0
- package/dist/content-page-repository/transformImg.js.map +1 -0
- package/dist/content-page-repository/transformMarkdown.d.ts +1 -0
- package/dist/content-page-repository/transformMarkdown.js +18 -0
- package/dist/content-page-repository/transformMarkdown.js.map +1 -0
- package/dist/content-page-repository/transformPicture.d.ts +3 -0
- package/dist/content-page-repository/transformPicture.js +28 -0
- package/dist/content-page-repository/transformPicture.js.map +1 -0
- package/lib/components/ContentPage/computeAPIFallback.d.ts +3 -0
- package/lib/components/ContentPage/computeAPIFallback.js +19 -0
- package/lib/components/ContentPage/computeAPIFallback.js.map +1 -0
- package/lib/content-page-repository/ContentPageRepository.d.ts +10 -0
- package/lib/content-page-repository/ContentPageRepository.js +25 -0
- package/lib/content-page-repository/ContentPageRepository.js.map +1 -0
- package/lib/content-page-repository/JSONDocContentBox.d.ts +8 -0
- package/lib/content-page-repository/JSONDocContentBox.js +36 -0
- package/lib/content-page-repository/JSONDocContentBox.js.map +1 -0
- package/lib/content-page-repository/TransformationOptions.d.ts +4 -0
- package/lib/content-page-repository/TransformationOptions.js +2 -0
- package/lib/content-page-repository/TransformationOptions.js.map +1 -0
- package/lib/content-page-repository/clearAttachmentHref.d.ts +2 -0
- package/lib/content-page-repository/clearAttachmentHref.js +3 -0
- package/lib/content-page-repository/clearAttachmentHref.js.map +1 -0
- package/lib/content-page-repository/computeImgOutputPath.d.ts +3 -0
- package/lib/content-page-repository/computeImgOutputPath.js +12 -0
- package/lib/content-page-repository/computeImgOutputPath.js.map +1 -0
- package/lib/content-page-repository/extensions.d.ts +3 -0
- package/lib/content-page-repository/extensions.js +16 -0
- package/lib/content-page-repository/extensions.js.map +1 -0
- package/lib/content-page-repository/index.d.ts +3 -0
- package/lib/content-page-repository/index.js +4 -0
- package/lib/content-page-repository/index.js.map +1 -0
- package/lib/content-page-repository/mapJSON.d.ts +1 -0
- package/lib/content-page-repository/mapJSON.js +23 -0
- package/lib/content-page-repository/mapJSON.js.map +1 -0
- package/lib/content-page-repository/mergePages.d.ts +2 -0
- package/lib/content-page-repository/mergePages.js +4 -0
- package/lib/content-page-repository/mergePages.js.map +1 -0
- package/lib/content-page-repository/replaceHeadingTags.d.ts +1 -0
- package/lib/content-page-repository/replaceHeadingTags.js +2 -0
- package/lib/content-page-repository/replaceHeadingTags.js.map +1 -0
- package/lib/content-page-repository/resizeImg.d.ts +3 -0
- package/lib/content-page-repository/resizeImg.js +13 -0
- package/lib/content-page-repository/resizeImg.js.map +1 -0
- package/lib/content-page-repository/transformAttachmentLink.d.ts +3 -0
- package/lib/content-page-repository/transformAttachmentLink.js +34 -0
- package/lib/content-page-repository/transformAttachmentLink.js.map +1 -0
- package/lib/content-page-repository/transformContentPage.d.ts +4 -0
- package/lib/content-page-repository/transformContentPage.js +71 -0
- package/lib/content-page-repository/transformContentPage.js.map +1 -0
- package/lib/content-page-repository/transformDocument.d.ts +3 -0
- package/lib/content-page-repository/transformDocument.js +32 -0
- package/lib/content-page-repository/transformDocument.js.map +1 -0
- package/lib/content-page-repository/transformHTML.d.ts +1 -0
- package/lib/content-page-repository/transformHTML.js +25 -0
- package/lib/content-page-repository/transformHTML.js.map +1 -0
- package/lib/content-page-repository/transformImg.d.ts +12 -0
- package/lib/content-page-repository/transformImg.js +45 -0
- package/lib/content-page-repository/transformImg.js.map +1 -0
- package/lib/content-page-repository/transformMarkdown.d.ts +1 -0
- package/lib/content-page-repository/transformMarkdown.js +12 -0
- package/lib/content-page-repository/transformMarkdown.js.map +1 -0
- package/lib/content-page-repository/transformPicture.d.ts +3 -0
- package/lib/content-page-repository/transformPicture.js +22 -0
- package/lib/content-page-repository/transformPicture.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +1 -1
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ContentPage/computeAPIFallback.d.ts +3 -0
- package/mobile/bundle/content-page-repository/ContentPageRepository.d.ts +10 -0
- package/mobile/bundle/content-page-repository/JSONDocContentBox.d.ts +8 -0
- package/mobile/bundle/content-page-repository/TransformationOptions.d.ts +4 -0
- package/mobile/bundle/content-page-repository/clearAttachmentHref.d.ts +2 -0
- package/mobile/bundle/content-page-repository/computeImgOutputPath.d.ts +3 -0
- package/mobile/bundle/content-page-repository/extensions.d.ts +3 -0
- package/mobile/bundle/content-page-repository/index.d.ts +3 -0
- package/mobile/bundle/content-page-repository/mapJSON.d.ts +1 -0
- package/mobile/bundle/content-page-repository/mergePages.d.ts +2 -0
- package/mobile/bundle/content-page-repository/replaceHeadingTags.d.ts +1 -0
- package/mobile/bundle/content-page-repository/resizeImg.d.ts +3 -0
- package/mobile/bundle/content-page-repository/transformAttachmentLink.d.ts +3 -0
- package/mobile/bundle/content-page-repository/transformContentPage.d.ts +4 -0
- package/mobile/bundle/content-page-repository/transformDocument.d.ts +3 -0
- package/mobile/bundle/content-page-repository/transformHTML.d.ts +1 -0
- package/mobile/bundle/content-page-repository/transformImg.d.ts +12 -0
- package/mobile/bundle/content-page-repository/transformMarkdown.d.ts +1 -0
- package/mobile/bundle/content-page-repository/transformPicture.d.ts +3 -0
- package/mobile/dist/components/ContentPage/computeAPIFallback.d.ts +3 -0
- package/mobile/dist/components/ContentPage/computeAPIFallback.js +22 -0
- package/mobile/dist/components/ContentPage/computeAPIFallback.js.map +1 -0
- package/mobile/dist/content-page-repository/ContentPageRepository.d.ts +10 -0
- package/mobile/dist/content-page-repository/ContentPageRepository.js +31 -0
- package/mobile/dist/content-page-repository/ContentPageRepository.js.map +1 -0
- package/mobile/dist/content-page-repository/JSONDocContentBox.d.ts +8 -0
- package/mobile/dist/content-page-repository/JSONDocContentBox.js +39 -0
- package/mobile/dist/content-page-repository/JSONDocContentBox.js.map +1 -0
- package/mobile/dist/content-page-repository/TransformationOptions.d.ts +4 -0
- package/mobile/dist/content-page-repository/TransformationOptions.js +2 -0
- package/mobile/dist/content-page-repository/TransformationOptions.js.map +1 -0
- package/mobile/dist/content-page-repository/clearAttachmentHref.d.ts +2 -0
- package/mobile/dist/content-page-repository/clearAttachmentHref.js +6 -0
- package/mobile/dist/content-page-repository/clearAttachmentHref.js.map +1 -0
- package/mobile/dist/content-page-repository/computeImgOutputPath.d.ts +3 -0
- package/mobile/dist/content-page-repository/computeImgOutputPath.js +18 -0
- package/mobile/dist/content-page-repository/computeImgOutputPath.js.map +1 -0
- package/mobile/dist/content-page-repository/extensions.d.ts +3 -0
- package/mobile/dist/content-page-repository/extensions.js +18 -0
- package/mobile/dist/content-page-repository/extensions.js.map +1 -0
- package/mobile/dist/content-page-repository/index.d.ts +3 -0
- package/mobile/dist/content-page-repository/index.js +9 -0
- package/mobile/dist/content-page-repository/index.js.map +1 -0
- package/mobile/dist/content-page-repository/mapJSON.d.ts +1 -0
- package/mobile/dist/content-page-repository/mapJSON.js +26 -0
- package/mobile/dist/content-page-repository/mapJSON.js.map +1 -0
- package/mobile/dist/content-page-repository/mergePages.d.ts +2 -0
- package/mobile/dist/content-page-repository/mergePages.js +7 -0
- package/mobile/dist/content-page-repository/mergePages.js.map +1 -0
- package/mobile/dist/content-page-repository/replaceHeadingTags.d.ts +1 -0
- package/mobile/dist/content-page-repository/replaceHeadingTags.js +5 -0
- package/mobile/dist/content-page-repository/replaceHeadingTags.js.map +1 -0
- package/mobile/dist/content-page-repository/resizeImg.d.ts +3 -0
- package/mobile/dist/content-page-repository/resizeImg.js +19 -0
- package/mobile/dist/content-page-repository/resizeImg.js.map +1 -0
- package/mobile/dist/content-page-repository/transformAttachmentLink.d.ts +3 -0
- package/mobile/dist/content-page-repository/transformAttachmentLink.js +40 -0
- package/mobile/dist/content-page-repository/transformAttachmentLink.js.map +1 -0
- package/mobile/dist/content-page-repository/transformContentPage.d.ts +4 -0
- package/mobile/dist/content-page-repository/transformContentPage.js +78 -0
- package/mobile/dist/content-page-repository/transformContentPage.js.map +1 -0
- package/mobile/dist/content-page-repository/transformDocument.d.ts +3 -0
- package/mobile/dist/content-page-repository/transformDocument.js +38 -0
- package/mobile/dist/content-page-repository/transformDocument.js.map +1 -0
- package/mobile/dist/content-page-repository/transformHTML.d.ts +1 -0
- package/mobile/dist/content-page-repository/transformHTML.js +54 -0
- package/mobile/dist/content-page-repository/transformHTML.js.map +1 -0
- package/mobile/dist/content-page-repository/transformImg.d.ts +12 -0
- package/mobile/dist/content-page-repository/transformImg.js +51 -0
- package/mobile/dist/content-page-repository/transformImg.js.map +1 -0
- package/mobile/dist/content-page-repository/transformMarkdown.d.ts +1 -0
- package/mobile/dist/content-page-repository/transformMarkdown.js +18 -0
- package/mobile/dist/content-page-repository/transformMarkdown.js.map +1 -0
- package/mobile/dist/content-page-repository/transformPicture.d.ts +3 -0
- package/mobile/dist/content-page-repository/transformPicture.js +28 -0
- package/mobile/dist/content-page-repository/transformPicture.js.map +1 -0
- package/mobile/lib/components/ContentPage/computeAPIFallback.d.ts +3 -0
- package/mobile/lib/components/ContentPage/computeAPIFallback.js +19 -0
- package/mobile/lib/components/ContentPage/computeAPIFallback.js.map +1 -0
- package/mobile/lib/content-page-repository/ContentPageRepository.d.ts +10 -0
- package/mobile/lib/content-page-repository/ContentPageRepository.js +25 -0
- package/mobile/lib/content-page-repository/ContentPageRepository.js.map +1 -0
- package/mobile/lib/content-page-repository/JSONDocContentBox.d.ts +8 -0
- package/mobile/lib/content-page-repository/JSONDocContentBox.js +36 -0
- package/mobile/lib/content-page-repository/JSONDocContentBox.js.map +1 -0
- package/mobile/lib/content-page-repository/TransformationOptions.d.ts +4 -0
- package/mobile/lib/content-page-repository/TransformationOptions.js +2 -0
- package/mobile/lib/content-page-repository/TransformationOptions.js.map +1 -0
- package/mobile/lib/content-page-repository/clearAttachmentHref.d.ts +2 -0
- package/mobile/lib/content-page-repository/clearAttachmentHref.js +3 -0
- package/mobile/lib/content-page-repository/clearAttachmentHref.js.map +1 -0
- package/mobile/lib/content-page-repository/computeImgOutputPath.d.ts +3 -0
- package/mobile/lib/content-page-repository/computeImgOutputPath.js +12 -0
- package/mobile/lib/content-page-repository/computeImgOutputPath.js.map +1 -0
- package/mobile/lib/content-page-repository/extensions.d.ts +3 -0
- package/mobile/lib/content-page-repository/extensions.js +16 -0
- package/mobile/lib/content-page-repository/extensions.js.map +1 -0
- package/mobile/lib/content-page-repository/index.d.ts +3 -0
- package/mobile/lib/content-page-repository/index.js +4 -0
- package/mobile/lib/content-page-repository/index.js.map +1 -0
- package/mobile/lib/content-page-repository/mapJSON.d.ts +1 -0
- package/mobile/lib/content-page-repository/mapJSON.js +23 -0
- package/mobile/lib/content-page-repository/mapJSON.js.map +1 -0
- package/mobile/lib/content-page-repository/mergePages.d.ts +2 -0
- package/mobile/lib/content-page-repository/mergePages.js +4 -0
- package/mobile/lib/content-page-repository/mergePages.js.map +1 -0
- package/mobile/lib/content-page-repository/replaceHeadingTags.d.ts +1 -0
- package/mobile/lib/content-page-repository/replaceHeadingTags.js +2 -0
- package/mobile/lib/content-page-repository/replaceHeadingTags.js.map +1 -0
- package/mobile/lib/content-page-repository/resizeImg.d.ts +3 -0
- package/mobile/lib/content-page-repository/resizeImg.js +13 -0
- package/mobile/lib/content-page-repository/resizeImg.js.map +1 -0
- package/mobile/lib/content-page-repository/transformAttachmentLink.d.ts +3 -0
- package/mobile/lib/content-page-repository/transformAttachmentLink.js +34 -0
- package/mobile/lib/content-page-repository/transformAttachmentLink.js.map +1 -0
- package/mobile/lib/content-page-repository/transformContentPage.d.ts +4 -0
- package/mobile/lib/content-page-repository/transformContentPage.js +71 -0
- package/mobile/lib/content-page-repository/transformContentPage.js.map +1 -0
- package/mobile/lib/content-page-repository/transformDocument.d.ts +3 -0
- package/mobile/lib/content-page-repository/transformDocument.js +32 -0
- package/mobile/lib/content-page-repository/transformDocument.js.map +1 -0
- package/mobile/lib/content-page-repository/transformHTML.d.ts +1 -0
- package/mobile/lib/content-page-repository/transformHTML.js +25 -0
- package/mobile/lib/content-page-repository/transformHTML.js.map +1 -0
- package/mobile/lib/content-page-repository/transformImg.d.ts +12 -0
- package/mobile/lib/content-page-repository/transformImg.js +45 -0
- package/mobile/lib/content-page-repository/transformImg.js.map +1 -0
- package/mobile/lib/content-page-repository/transformMarkdown.d.ts +1 -0
- package/mobile/lib/content-page-repository/transformMarkdown.js +12 -0
- package/mobile/lib/content-page-repository/transformMarkdown.js.map +1 -0
- package/mobile/lib/content-page-repository/transformPicture.d.ts +3 -0
- package/mobile/lib/content-page-repository/transformPicture.js +22 -0
- package/mobile/lib/content-page-repository/transformPicture.js.map +1 -0
- package/mobile/src/components/ContentPage/computeAPIFallback.ts +35 -0
- package/mobile/src/content-page-repository/ContentPageRepository.ts +31 -0
- package/mobile/src/content-page-repository/JSONDocContentBox.ts +56 -0
- package/mobile/src/content-page-repository/TransformationOptions.ts +4 -0
- package/mobile/src/content-page-repository/clearAttachmentHref.ts +3 -0
- package/mobile/src/content-page-repository/computeImgOutputPath.ts +21 -0
- package/mobile/src/content-page-repository/extensions.ts +17 -0
- package/mobile/src/content-page-repository/index.ts +3 -0
- package/mobile/src/content-page-repository/mapJSON.ts +30 -0
- package/mobile/src/content-page-repository/mergePages.ts +8 -0
- package/mobile/src/content-page-repository/replaceHeadingTags.ts +2 -0
- package/mobile/src/content-page-repository/resizeImg.ts +17 -0
- package/mobile/src/content-page-repository/transformAttachmentLink.ts +46 -0
- package/mobile/src/content-page-repository/transformContentPage.ts +102 -0
- package/mobile/src/content-page-repository/transformDocument.ts +43 -0
- package/mobile/src/content-page-repository/transformHTML.ts +28 -0
- package/mobile/src/content-page-repository/transformImg.ts +81 -0
- package/mobile/src/content-page-repository/transformMarkdown.ts +14 -0
- package/mobile/src/content-page-repository/transformPicture.ts +35 -0
- package/package.json +21 -1
- package/src/components/ContentPage/computeAPIFallback.ts +35 -0
- package/src/content-page-repository/ContentPageRepository.ts +31 -0
- package/src/content-page-repository/JSONDocContentBox.ts +56 -0
- package/src/content-page-repository/TransformationOptions.ts +4 -0
- package/src/content-page-repository/clearAttachmentHref.ts +3 -0
- package/src/content-page-repository/computeImgOutputPath.ts +21 -0
- package/src/content-page-repository/extensions.ts +17 -0
- package/src/content-page-repository/index.ts +3 -0
- package/src/content-page-repository/mapJSON.ts +30 -0
- package/src/content-page-repository/mergePages.ts +8 -0
- package/src/content-page-repository/replaceHeadingTags.ts +2 -0
- package/src/content-page-repository/resizeImg.ts +17 -0
- package/src/content-page-repository/transformAttachmentLink.ts +46 -0
- package/src/content-page-repository/transformContentPage.ts +102 -0
- package/src/content-page-repository/transformDocument.ts +43 -0
- package/src/content-page-repository/transformHTML.ts +28 -0
- package/src/content-page-repository/transformImg.ts +81 -0
- package/src/content-page-repository/transformMarkdown.ts +14 -0
- package/src/content-page-repository/transformPicture.ts +35 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
+
};
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.transformDocument = void 0;
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const util_1 = __importDefault(require("util"));
|
|
9
|
+
const isUUID_1 = require("../utils/isUUID");
|
|
10
|
+
const mkdir = util_1.default.promisify(fs_1.default.mkdir);
|
|
11
|
+
const copyFile = util_1.default.promisify(fs_1.default.copyFile);
|
|
12
|
+
const stat = util_1.default.promisify(fs_1.default.stat);
|
|
13
|
+
async function transformDocument(attachment, pagePath, options) {
|
|
14
|
+
if (!attachment?.src || (0, isUUID_1.isUUID)(attachment.src)) {
|
|
15
|
+
return attachment;
|
|
16
|
+
}
|
|
17
|
+
const { contentDir, publicDir } = options;
|
|
18
|
+
const input = attachment.src;
|
|
19
|
+
const docRelativePath = path_1.default.relative(contentDir, input);
|
|
20
|
+
const output = path_1.default.join(publicDir, docRelativePath);
|
|
21
|
+
const inputFileSize = (await stat(input)).size;
|
|
22
|
+
try {
|
|
23
|
+
await mkdir(path_1.default.dirname(output), { recursive: true });
|
|
24
|
+
await copyFile(input, output);
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
console.info(`No "${input}" attachment found on page: "${pagePath}"`);
|
|
28
|
+
return attachment;
|
|
29
|
+
}
|
|
30
|
+
const src = path_1.default.join('/', docRelativePath);
|
|
31
|
+
return {
|
|
32
|
+
...attachment,
|
|
33
|
+
src,
|
|
34
|
+
fileSize: inputFileSize,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
exports.transformDocument = transformDocument;
|
|
38
|
+
//# sourceMappingURL=transformDocument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformDocument.js","sourceRoot":"","sources":["../../src/content-page-repository/transformDocument.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,gDAAwB;AAExB,4CAAyC;AAGzC,MAAM,KAAK,GAAG,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,KAAK,CAAC,CAAC;AACvC,MAAM,QAAQ,GAAG,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,QAAQ,CAAC,CAAC;AAC7C,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,IAAI,CAAC,CAAC;AAE9B,KAAK,UAAU,iBAAiB,CACrC,UAAsB,EACtB,QAAgB,EAChB,OAA8B;IAE9B,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,IAAA,eAAM,EAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC9C,OAAO,UAAU,CAAC;KACnB;IAED,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;IAC7B,MAAM,eAAe,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAE/C,IAAI;QACF,MAAM,KAAK,CAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAC/B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,gCAAgC,QAAQ,GAAG,CAAC,CAAC;QAEtE,OAAO,UAAU,CAAC;KACnB;IAED,MAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAE5C,OAAO;QACL,GAAG,UAAU;QACb,GAAG;QACH,QAAQ,EAAE,aAAa;KACxB,CAAC;AACJ,CAAC;AA/BD,8CA+BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function transformHTML(html: string | null | undefined): Promise<string>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2
|
+
if (k2 === undefined) k2 = k;
|
|
3
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
4
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
5
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
6
|
+
}
|
|
7
|
+
Object.defineProperty(o, k2, desc);
|
|
8
|
+
}) : (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
o[k2] = m[k];
|
|
11
|
+
}));
|
|
12
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
13
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
14
|
+
}) : function(o, v) {
|
|
15
|
+
o["default"] = v;
|
|
16
|
+
});
|
|
17
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
18
|
+
if (mod && mod.__esModule) return mod;
|
|
19
|
+
var result = {};
|
|
20
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
21
|
+
__setModuleDefault(result, mod);
|
|
22
|
+
return result;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.transformHTML = void 0;
|
|
29
|
+
const rehype_parse_1 = __importDefault(require("rehype-parse"));
|
|
30
|
+
const rehype_sanitize_1 = __importStar(require("rehype-sanitize"));
|
|
31
|
+
const rehype_stringify_1 = __importDefault(require("rehype-stringify"));
|
|
32
|
+
const unified_1 = require("unified");
|
|
33
|
+
const replaceHeadingTags_1 = require("./replaceHeadingTags");
|
|
34
|
+
async function transformHTML(html) {
|
|
35
|
+
if (!html) {
|
|
36
|
+
return '';
|
|
37
|
+
}
|
|
38
|
+
const extendedSchema = {
|
|
39
|
+
...rehype_sanitize_1.defaultSchema,
|
|
40
|
+
protocols: {
|
|
41
|
+
...rehype_sanitize_1.defaultSchema.protocols,
|
|
42
|
+
href: [...(rehype_sanitize_1.defaultSchema?.protocols?.href || []), 'tel'],
|
|
43
|
+
src: [...(rehype_sanitize_1.defaultSchema.protocols?.src ?? []), 'data'],
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
const result = await (0, unified_1.unified)()
|
|
47
|
+
.use(rehype_parse_1.default)
|
|
48
|
+
.use(rehype_sanitize_1.default, extendedSchema)
|
|
49
|
+
.use(rehype_stringify_1.default)
|
|
50
|
+
.process(html);
|
|
51
|
+
return (0, replaceHeadingTags_1.replaceHeadingTags)(result.toString('utf-8'));
|
|
52
|
+
}
|
|
53
|
+
exports.transformHTML = transformHTML;
|
|
54
|
+
//# sourceMappingURL=transformHTML.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformHTML.js","sourceRoot":"","sources":["../../src/content-page-repository/transformHTML.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAuC;AACvC,mEAAgE;AAChE,wEAA+C;AAC/C,qCAAkC;AAClC,6DAA0D;AAEnD,KAAK,UAAU,aAAa,CAAC,IAA+B;IACjE,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IAED,MAAM,cAAc,GAAG;QACrB,GAAG,+BAAa;QAChB,SAAS,EAAE;YACT,GAAG,+BAAa,CAAC,SAAS;YAC1B,IAAI,EAAE,CAAC,GAAG,CAAC,+BAAa,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC;YACxD,GAAG,EAAE,CAAC,GAAG,CAAC,+BAAa,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC;SACvD;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAO,GAAE;SAC3B,GAAG,CAAC,sBAAW,CAAC;SAChB,GAAG,CAAC,yBAAc,EAAE,cAAc,CAAC;SACnC,GAAG,CAAC,0BAAe,CAAC;SACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,OAAO,IAAA,uCAAkB,EAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC;AArBD,sCAqBC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ImageSize } from '../model/ImageSize';
|
|
2
|
+
import { type ImgSource } from '../model/Picture';
|
|
3
|
+
import { type TransformationOptions } from './TransformationOptions';
|
|
4
|
+
declare type ImgOutputPath = string;
|
|
5
|
+
declare type TransformationTaskKey = ImgOutputPath;
|
|
6
|
+
declare type TransformationTasksCache = Map<TransformationTaskKey, Promise<ImgOutputPath>>;
|
|
7
|
+
declare type TransformImgOptions = TransformationOptions & ImgSource & {
|
|
8
|
+
containerSize?: ImageSize;
|
|
9
|
+
cache?: TransformationTasksCache;
|
|
10
|
+
};
|
|
11
|
+
export declare function transformImg(src: string, pagePath: string, options: TransformImgOptions): ImgOutputPath | Promise<ImgOutputPath>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
+
};
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.transformImg = void 0;
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const sharp_1 = __importDefault(require("sharp"));
|
|
9
|
+
const util_1 = __importDefault(require("util"));
|
|
10
|
+
const isPictureSizeEmpty_1 = require("../utils/isPictureSizeEmpty");
|
|
11
|
+
const computeImgOutputPath_1 = require("./computeImgOutputPath");
|
|
12
|
+
const resizeImg_1 = require("./resizeImg");
|
|
13
|
+
const mkdir = util_1.default.promisify(fs_1.default.mkdir);
|
|
14
|
+
const copyFile = util_1.default.promisify(fs_1.default.copyFile);
|
|
15
|
+
const defaultTransformationCache = new Map();
|
|
16
|
+
const isNilTransform = ({ size, containerSize, format }) => (0, isPictureSizeEmpty_1.isPictureSizeEmpty)(size) && (0, isPictureSizeEmpty_1.isPictureSizeEmpty)(containerSize) && !format;
|
|
17
|
+
const isVectorInput = (input) => ['.svg', '.eps', '.epsf', '.epsi', '.pdf'].some((ext) => input.toLowerCase().endsWith(ext));
|
|
18
|
+
function transformImg(src, pagePath, options) {
|
|
19
|
+
if (!src) {
|
|
20
|
+
return src;
|
|
21
|
+
}
|
|
22
|
+
const withoutTransform = isNilTransform(options) || isVectorInput(src);
|
|
23
|
+
const output = (0, computeImgOutputPath_1.computeImgOutputPath)(src, options, withoutTransform);
|
|
24
|
+
const { cache = defaultTransformationCache } = options;
|
|
25
|
+
const cachedResult = cache.get(output);
|
|
26
|
+
if (cachedResult) {
|
|
27
|
+
return cachedResult;
|
|
28
|
+
}
|
|
29
|
+
const result = (async () => {
|
|
30
|
+
try {
|
|
31
|
+
await mkdir(path_1.default.dirname(output), { recursive: true });
|
|
32
|
+
if (withoutTransform) {
|
|
33
|
+
await copyFile(src, output);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
const chain = await computeTransformationChain(options)((0, sharp_1.default)(src));
|
|
37
|
+
await chain.toFile(output);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
console.info(`No "${src}" attachment found on page: "${pagePath}"`);
|
|
42
|
+
}
|
|
43
|
+
return output;
|
|
44
|
+
})();
|
|
45
|
+
cache.set(output, result);
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
exports.transformImg = transformImg;
|
|
49
|
+
const computeTransformationChain = ({ size, containerSize, format, options, }) => pipe((0, resizeImg_1.resizeImg)((0, isPictureSizeEmpty_1.isPictureSizeEmpty)(size) ? containerSize : size), (_) => format ? _.toFormat(format, { ...options, lossless: true }) : _);
|
|
50
|
+
const pipe = (...operations) => operations.reduce((a, b) => async (chain) => b(await a(chain)));
|
|
51
|
+
//# sourceMappingURL=transformImg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformImg.js","sourceRoot":"","sources":["../../src/content-page-repository/transformImg.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,kDAA0C;AAC1C,gDAAwB;AAGxB,oEAAiE;AACjE,iEAA8D;AAC9D,2CAAwC;AAGxC,MAAM,KAAK,GAAG,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,KAAK,CAAC,CAAC;AACvC,MAAM,QAAQ,GAAG,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,QAAQ,CAAC,CAAC;AAS7C,MAAM,0BAA0B,GAA6B,IAAI,GAAG,EAAE,CAAC;AAEvE,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAuB,EAAE,EAAE,CAC9E,IAAA,uCAAkB,EAAC,IAAI,CAAC,IAAI,IAAA,uCAAkB,EAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;AAE3E,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CACtC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9F,SAAgB,YAAY,CAC1B,GAAW,EACX,QAAgB,EAChB,OAA4B;IAE5B,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,GAAG,CAAC;KACZ;IAED,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAG,IAAA,2CAAoB,EAAC,GAAG,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAEpE,MAAM,EAAE,KAAK,GAAG,0BAA0B,EAAE,GAAG,OAAO,CAAC;IAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;QACzB,IAAI;YACF,MAAM,KAAK,CAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,IAAI,gBAAgB,EAAE;gBACpB,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aAC7B;iBAAM;gBACL,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC,IAAA,eAAK,EAAC,GAAG,CAAC,CAAC,CAAC;gBACpE,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC5B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,gCAAgC,QAAQ,GAAG,CAAC,CAAC;SACrE;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,CAAC;IACL,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAtCD,oCAsCC;AAED,MAAM,0BAA0B,GAAG,CAAC,EAClC,IAAI,EACJ,aAAa,EACb,MAAM,EACN,OAAO,GACa,EAAE,EAAE,CACxB,IAAI,CAAC,IAAA,qBAAS,EAAC,IAAA,uCAAkB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACrE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAChE,CAAC;AAEJ,MAAM,IAAI,GAAG,CAAC,GAAG,UAA2D,EAAE,EAAE,CAC9E,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAY,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function transformMarkdown(markdown: string | null | undefined): Promise<string>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
+
};
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.transformMarkdown = void 0;
|
|
6
|
+
const remark_html_1 = __importDefault(require("remark-html"));
|
|
7
|
+
const remark_parse_1 = __importDefault(require("remark-parse"));
|
|
8
|
+
const unified_1 = require("unified");
|
|
9
|
+
const replaceHeadingTags_1 = require("./replaceHeadingTags");
|
|
10
|
+
async function transformMarkdown(markdown) {
|
|
11
|
+
if (!markdown) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
const result = await (0, unified_1.unified)().use(remark_parse_1.default).use(remark_html_1.default).process(markdown);
|
|
15
|
+
return (0, replaceHeadingTags_1.replaceHeadingTags)(result.toString('utf-8'));
|
|
16
|
+
}
|
|
17
|
+
exports.transformMarkdown = transformMarkdown;
|
|
18
|
+
//# sourceMappingURL=transformMarkdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformMarkdown.js","sourceRoot":"","sources":["../../src/content-page-repository/transformMarkdown.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AACrC,gEAAuC;AACvC,qCAAkC;AAClC,6DAA0D;AAEnD,KAAK,UAAU,iBAAiB,CAAC,QAAmC;IACzE,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,EAAE,CAAC;KACX;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAO,GAAE,CAAC,GAAG,CAAC,sBAAW,CAAC,CAAC,GAAG,CAAC,qBAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAElF,OAAO,IAAA,uCAAkB,EAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC;AARD,8CAQC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
+
};
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.transformPicture = void 0;
|
|
6
|
+
const path_1 = __importDefault(require("path"));
|
|
7
|
+
const sharp_1 = __importDefault(require("sharp"));
|
|
8
|
+
const transformImg_1 = require("./transformImg");
|
|
9
|
+
async function transformPicture(picture, pagePath, options) {
|
|
10
|
+
const src = picture?.src || '';
|
|
11
|
+
const transformedImgPath = await (0, transformImg_1.transformImg)(src, pagePath, { ...options, ...picture });
|
|
12
|
+
const { width, height } = await (0, sharp_1.default)(transformedImgPath).metadata();
|
|
13
|
+
const containerSize = width && height ? { width, height } : undefined;
|
|
14
|
+
const sources = picture.sources || [];
|
|
15
|
+
const transformedSources = await Promise.all(sources.map((_) => (0, transformImg_1.transformImg)(src, pagePath, { ...options, ..._, containerSize })));
|
|
16
|
+
const imgPathToSrc = (_) => path_1.default.join('/', path_1.default.relative(options.publicDir, _));
|
|
17
|
+
return {
|
|
18
|
+
...picture,
|
|
19
|
+
src: imgPathToSrc(transformedImgPath),
|
|
20
|
+
sources: transformedSources.map((_, i) => ({
|
|
21
|
+
...sources[i],
|
|
22
|
+
src: imgPathToSrc(_),
|
|
23
|
+
size: { width, height },
|
|
24
|
+
})),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.transformPicture = transformPicture;
|
|
28
|
+
//# sourceMappingURL=transformPicture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformPicture.js","sourceRoot":"","sources":["../../src/content-page-repository/transformPicture.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,kDAA0B;AAG1B,iDAA8C;AAEvC,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,QAAgB,EAChB,OAA8B;IAE9B,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAE/B,MAAM,kBAAkB,GAAG,MAAM,IAAA,2BAAY,EAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAEzF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,eAAK,EAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrE,MAAM,aAAa,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,2BAAY,EAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CACrF,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAExF,OAAO;QACL,GAAG,OAAO;QACV,GAAG,EAAE,YAAY,CAAC,kBAAkB,CAAC;QACrC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,GAAG,OAAO,CAAC,CAAC,CAAC;YACb,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YACpB,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SACxB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AA5BD,4CA4BC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { collectRef, resolveJPointer } from '@redneckz/json-ref';
|
|
2
|
+
import { ContentPageRepository } from '../../content-page-repository/ContentPageRepository.js';
|
|
3
|
+
import { unique } from '../../utils/unique.js';
|
|
4
|
+
import { joinPath } from '../../utils/url.js';
|
|
5
|
+
const BASE_DIR = 'content';
|
|
6
|
+
export const computeAPIFallback = async (contentPageData) => {
|
|
7
|
+
return Object.fromEntries((await computeFallbackFromContentRefs(contentPageData)).filter(([key, data]) => key && data));
|
|
8
|
+
};
|
|
9
|
+
const computeFallbackFromContentRefs = async (contentPageData) => {
|
|
10
|
+
const refs = unique(collectRef(contentPageData));
|
|
11
|
+
return (await Promise.allSettled(refs.map(async (_) => [
|
|
12
|
+
_,
|
|
13
|
+
(await ContentPageRepository.inst.generatePage(joinPath(BASE_DIR, _))),
|
|
14
|
+
])))
|
|
15
|
+
.filter((_) => _.status === 'fulfilled')
|
|
16
|
+
.map(({ value }) => value)
|
|
17
|
+
.map(([ref, data]) => [ref, resolveJPointer(data, ref)]);
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=computeAPIFallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeAPIFallback.js","sourceRoot":"","sources":["../../../src/components/ContentPage/computeAPIFallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAG5F,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,eAA+B,EAAqB,EAAE;IAC7F,OAAO,MAAM,CAAC,WAAW,CACvB,CAAC,MAAM,8BAA8B,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAC7F,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,KAAK,EAC1C,eAA+B,EACL,EAAE;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,eAA2B,CAAC,CAAC,CAAC;IAE7D,OAAO,CACL,MAAM,OAAO,CAAC,UAAU,CACtB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACpB,CAAC;QACD,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAa;KACnF,CAAC,CACH,CACF;SACE,MAAM,CAAC,CAAC,CAAC,EAA8C,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;SACnF,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ContentPageDef } from '../model/ContentPageDef';
|
|
2
|
+
import { type TransformationOptions } from './TransformationOptions';
|
|
3
|
+
export declare class ContentPageRepository {
|
|
4
|
+
private readonly options;
|
|
5
|
+
static readonly inst: ContentPageRepository;
|
|
6
|
+
constructor(options?: TransformationOptions);
|
|
7
|
+
listAllContentPages(): Promise<string[]>;
|
|
8
|
+
readPage(filePath: string): Promise<ContentPageDef>;
|
|
9
|
+
generatePage(filePath: string): Promise<ContentPageDef>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import { glob } from 'glob';
|
|
3
|
+
import util from 'util';
|
|
4
|
+
import { generatedPagePath, transformContentPage } from './transformContentPage.js';
|
|
5
|
+
const readFile = util.promisify(fs.readFile);
|
|
6
|
+
export class ContentPageRepository {
|
|
7
|
+
options;
|
|
8
|
+
static inst = new ContentPageRepository();
|
|
9
|
+
constructor(options = {
|
|
10
|
+
contentDir: 'content',
|
|
11
|
+
publicDir: 'public',
|
|
12
|
+
}) {
|
|
13
|
+
this.options = options;
|
|
14
|
+
}
|
|
15
|
+
listAllContentPages() {
|
|
16
|
+
return glob(`${this.options.contentDir}/**/*.page.json`, { posix: true });
|
|
17
|
+
}
|
|
18
|
+
async readPage(filePath) {
|
|
19
|
+
return JSON.parse(await readFile(generatedPagePath(filePath), 'utf-8'));
|
|
20
|
+
}
|
|
21
|
+
generatePage(filePath) {
|
|
22
|
+
return transformContentPage(filePath, this.options);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=ContentPageRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEjF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAE7C,MAAM,OAAO,qBAAqB;IAIb;IAHZ,MAAM,CAAU,IAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE1D,YACmB,UAAiC;QAChD,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,QAAQ;KACpB;QAHgB,YAAO,GAAP,OAAO,CAGvB;IACA,CAAC;IAEJ,mBAAmB;QACjB,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,OAAO,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { JSONBoxDefault, type JSONBox, type JSONNode } from '@redneckz/json-op';
|
|
2
|
+
import { type JSONPathElement } from '@redneckz/json-op/lib/JSONPath';
|
|
3
|
+
export declare class JSONDocContentBox extends JSONBoxDefault {
|
|
4
|
+
size(): number;
|
|
5
|
+
entries(): Array<[p: JSONPathElement, child: JSONBox]>;
|
|
6
|
+
get(p?: JSONPathElement): JSONBox;
|
|
7
|
+
set(p: JSONPathElement | undefined, child: JSONNode): JSONBox;
|
|
8
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { isJSONArray, isJSONRecord, JSONBoxDefault, } from '@redneckz/json-op';
|
|
2
|
+
const isAtomicArray = (node) => isJSONArray(node) && !node.some(nodeId);
|
|
3
|
+
const ID_PREFIX = 'id:';
|
|
4
|
+
const nodeId = (node) => isJSONRecord(node) && '__id' in node ? node.__id : undefined;
|
|
5
|
+
const keyToId = (p) => typeof p === 'string' && p.startsWith(ID_PREFIX) ? p.substring(ID_PREFIX.length) : undefined;
|
|
6
|
+
const findIndexById = (_, id) => id && isJSONArray(_) ? _.findIndex((node) => id === nodeId(node)) : -1;
|
|
7
|
+
export class JSONDocContentBox extends JSONBoxDefault {
|
|
8
|
+
size() {
|
|
9
|
+
return isAtomicArray(this._) ? 0 : super.size();
|
|
10
|
+
}
|
|
11
|
+
entries() {
|
|
12
|
+
if (isAtomicArray(this._)) {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
else if (isJSONArray(this._)) {
|
|
16
|
+
return this._.map((node, i) => [
|
|
17
|
+
nodeId(node) ? `${ID_PREFIX}${nodeId(node)}` : i,
|
|
18
|
+
new JSONDocContentBox(node),
|
|
19
|
+
]);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return super.entries();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
get(p) {
|
|
26
|
+
const id = keyToId(p);
|
|
27
|
+
return super.get(id ? findIndexById(this._, id) : p);
|
|
28
|
+
}
|
|
29
|
+
set(p, child) {
|
|
30
|
+
const id = keyToId(p);
|
|
31
|
+
const index = findIndexById(this._, id);
|
|
32
|
+
const adjustedIndex = index >= 0 ? index : this.size();
|
|
33
|
+
return super.set(id ? adjustedIndex : p, id ? { ...child, __id: id } : child);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=JSONDocContentBox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JSONDocContentBox.js","sourceRoot":"","sources":["../../src/content-page-repository/JSONDocContentBox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,GAIf,MAAM,mBAAmB,CAAC;AAG3B,MAAM,aAAa,GAAG,CAAC,IAA0B,EAAW,EAAE,CAC5D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,SAAS,GAAG,KAAK,CAAC;AAExB,MAAM,MAAM,GAAG,CAAC,IAA0B,EAAsB,EAAE,CAChE,YAAY,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,IAAe,CAAC,CAAC,CAAC,SAAS,CAAC;AAE3E,MAAM,OAAO,GAAG,CAAC,CAA8B,EAAsB,EAAE,CACrE,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAE/F,MAAM,aAAa,GAAG,CAAC,CAAuB,EAAE,EAAsB,EAAe,EAAE,CACrF,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IACnD,IAAI;QACF,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,OAAO;QACL,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACzB,OAAO,EAAE,CAAC;SACX;aAAM,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChD,IAAI,iBAAiB,CAAC,IAAI,CAAC;aAC5B,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;SACxB;IACH,CAAC;IAED,GAAG,CAAC,CAAmB;QACrB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEtB,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,CAA8B,EAAE,KAAe;QACjD,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEvD,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAI,KAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransformationOptions.js","sourceRoot":"","sources":["../../src/content-page-repository/TransformationOptions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clearAttachmentHref.js","sourceRoot":"","sources":["../../src/content-page-repository/clearAttachmentHref.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type ImgSource } from '../model/Picture';
|
|
2
|
+
import { type TransformationOptions } from './TransformationOptions';
|
|
3
|
+
export declare function computeImgOutputPath(imgInputPath: string, { contentDir, publicDir, format, size }: TransformationOptions & ImgSource, withoutTransform?: boolean): string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
export function computeImgOutputPath(imgInputPath, { contentDir, publicDir, format, size }, withoutTransform = false) {
|
|
3
|
+
const imgRelativePath = path.relative(contentDir, imgInputPath);
|
|
4
|
+
const imgDir = path.dirname(imgRelativePath);
|
|
5
|
+
const inputExt = path.extname(imgRelativePath);
|
|
6
|
+
const fileName = path.basename(imgRelativePath, inputExt);
|
|
7
|
+
const suffixParts = [size?.width, size?.height].filter(Boolean);
|
|
8
|
+
const suffix = suffixParts.length && !withoutTransform ? `-${suffixParts.join('-')}` : '';
|
|
9
|
+
const ext = format && !withoutTransform ? `.${format}` : inputExt;
|
|
10
|
+
return path.join(publicDir, imgDir, `${fileName}${suffix}${ext}`);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=computeImgOutputPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeImgOutputPath.js","sourceRoot":"","sources":["../../src/content-page-repository/computeImgOutputPath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAqC,EAC1E,gBAAgB,GAAG,KAAK;IAExB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAElE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,QAAQ,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const OUTPUT_SUFFIX = '.static';
|
|
2
|
+
export const DOCUMENT_EXT_LIST = [
|
|
3
|
+
'.txt',
|
|
4
|
+
'.doc',
|
|
5
|
+
'.docx',
|
|
6
|
+
'.xls',
|
|
7
|
+
'.xlsx',
|
|
8
|
+
'.xlsb',
|
|
9
|
+
'.ppt',
|
|
10
|
+
'.pptx',
|
|
11
|
+
'.pdf',
|
|
12
|
+
'.zip',
|
|
13
|
+
'.7z',
|
|
14
|
+
];
|
|
15
|
+
export const IMAGE_EXT_LIST = ['.jpeg', '.jpg', '.png', '.gif', '.webp', '.heif', '.avif', '.svg'];
|
|
16
|
+
//# sourceMappingURL=extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/content-page-repository/extensions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;CACN,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/content-page-repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function mapJSON<T>(data: T, mapper: <In, Out = In>(value: In, key: string[]) => Promise<Out>, keyParts?: string[]): Promise<T>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export async function mapJSON(data, mapper, keyParts = []) {
|
|
2
|
+
if (data === null || data === undefined) {
|
|
3
|
+
return data;
|
|
4
|
+
}
|
|
5
|
+
const mappedData = await mapper(data, keyParts);
|
|
6
|
+
if (mappedData !== data) {
|
|
7
|
+
return mappedData;
|
|
8
|
+
}
|
|
9
|
+
if (Array.isArray(data)) {
|
|
10
|
+
const values = data.map((_, i) => mapJSON(_, mapper, [String(i)].concat(keyParts)));
|
|
11
|
+
return Promise.all(values);
|
|
12
|
+
}
|
|
13
|
+
else if (typeof data === 'object' && data.toString() === '[object Object]') {
|
|
14
|
+
const subKeys = Object.keys(data);
|
|
15
|
+
const values = subKeys.map((k) => mapJSON(data[k], mapper, [k].concat(keyParts)));
|
|
16
|
+
const pairs = (await Promise.all(values)).map((_, i) => ({
|
|
17
|
+
[subKeys[i]]: _,
|
|
18
|
+
}));
|
|
19
|
+
return Object.assign({}, ...pairs);
|
|
20
|
+
}
|
|
21
|
+
return mapper(data, keyParts);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=mapJSON.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapJSON.js","sourceRoot":"","sources":["../../src/content-page-repository/mapJSON.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAO,EACP,MAAgE,EAChE,WAAqB,EAAE;IAEvB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;QACvC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,UAAU,KAAK,IAAI,EAAE;QACvB,OAAO,UAAe,CAAC;KACxB;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEpF,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAQ,CAAC;KACnC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAK,IAAY,CAAC,QAAQ,EAAE,KAAK,iBAAiB,EAAE;QACrF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAChB,CAAC,CAAC,CAAC;QAEJ,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;KACpC;IAED,OAAO,MAAM,CAAI,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergePages.js","sourceRoot":"","sources":["../../src/content-page-repository/mergePages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAmB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,KAAiB,EAAc,EAAE,CAC5E,KAAK,CACH,IAAI,iBAAiB,CAAC,IAAkB,CAAC,EACzC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAmB,CAAC,CAAC,CACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const replaceHeadingTags: (html: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceHeadingTags.js","sourceRoot":"","sources":["../../src/content-page-repository/replaceHeadingTags.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CACjD,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import sharp from 'sharp';
|
|
2
|
+
export const resizeImg = (size, options) => (chain) => size
|
|
3
|
+
? chain.resize(size.width || null, size.height || null, {
|
|
4
|
+
/*
|
|
5
|
+
* Editor behaviour with one dimension present: resize by given dimension maintaining aspect ratio. (fit: contain)
|
|
6
|
+
* With two dimensions present: resize trying to fill given dimensions (fit: fill)
|
|
7
|
+
*/
|
|
8
|
+
fit: size.width && size.height ? sharp.fit.fill : sharp.fit.contain,
|
|
9
|
+
background: { r: 0, g: 0, b: 0, alpha: 0 },
|
|
10
|
+
...options,
|
|
11
|
+
})
|
|
12
|
+
: chain;
|
|
13
|
+
//# sourceMappingURL=resizeImg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resizeImg.js","sourceRoot":"","sources":["../../src/content-page-repository/resizeImg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,MAAM,CAAC,MAAM,SAAS,GACpB,CAAC,IAAyB,EAAE,OAAuB,EAAE,EAAE,CACvD,CAAC,KAAY,EAAS,EAAE,CACtB,IAAI;IACF,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;QACpD;;;WAGG;QACH,GAAG,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO;QACnE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QAC1C,GAAG,OAAO;KACX,CAAC;IACJ,CAAC,CAAC,KAAK,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import util from 'util';
|
|
4
|
+
import { isUUID } from '../utils/isUUID.js';
|
|
5
|
+
import { clearAttachmentHref } from './clearAttachmentHref.js';
|
|
6
|
+
const mkdir = util.promisify(fs.mkdir);
|
|
7
|
+
const copyFile = util.promisify(fs.copyFile);
|
|
8
|
+
export async function transformAttachmentLink(link, pagePath, options) {
|
|
9
|
+
if (!link?.href) {
|
|
10
|
+
return link;
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
return {
|
|
14
|
+
...link,
|
|
15
|
+
href: await transformHref(clearAttachmentHref(link.href), options),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
console.info(`No "${link.href}" attachment found on page: "${pagePath}"`);
|
|
20
|
+
return link;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async function transformHref(input, options) {
|
|
24
|
+
if (isUUID(input)) {
|
|
25
|
+
return input;
|
|
26
|
+
}
|
|
27
|
+
const { contentDir, publicDir } = options;
|
|
28
|
+
const docRelativePath = path.relative(contentDir, input);
|
|
29
|
+
const output = path.join(publicDir, docRelativePath);
|
|
30
|
+
await mkdir(path.dirname(output), { recursive: true });
|
|
31
|
+
await copyFile(input, output);
|
|
32
|
+
return path.join('/', docRelativePath);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=transformAttachmentLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformAttachmentLink.js","sourceRoot":"","sources":["../../src/content-page-repository/transformAttachmentLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAe,EACf,QAAgB,EAChB,OAA8B;IAE9B,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;QACf,OAAO,IAAI,CAAC;KACb;IAED,IAAI;QACF,OAAO;YACL,GAAG,IAAI;YACP,IAAI,EAAE,MAAM,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;SACnE,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,gCAAgC,QAAQ,GAAG,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAa,EAAE,OAA8B;IACxE,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;QACjB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAErD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type ContentPageDef } from '../model/ContentPageDef';
|
|
2
|
+
import { type TransformationOptions } from './TransformationOptions';
|
|
3
|
+
export declare function transformContentPage(pagePath: string, options: TransformationOptions): Promise<ContentPageDef>;
|
|
4
|
+
export declare const generatedPagePath: (pagePath: string) => string;
|