@analogjs/content 1.9.2-beta.2 → 1.9.2-beta.4
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/fesm2022/analogjs-content-og.mjs.map +1 -1
- package/fesm2022/analogjs-content-prism-highlighter.mjs +3 -3
- package/fesm2022/analogjs-content-prism-highlighter.mjs.map +1 -1
- package/fesm2022/analogjs-content-shiki-highlighter.mjs.map +1 -1
- package/fesm2022/analogjs-content.mjs +24 -24
- package/fesm2022/analogjs-content.mjs.map +1 -1
- package/og/lib/og.d.ts +0 -1
- package/package.json +5 -13
- package/plugin/package.json +2 -1
- package/plugin/src/migrations/update-markdown-renderer-feature/update-markdown-renderer-feature.js +1 -1
- package/plugin/src/migrations/update-markdown-renderer-feature/update-markdown-renderer-feature.js.map +1 -1
- package/esm2022/analogjs-content.mjs +0 -5
- package/esm2022/index.mjs +0 -12
- package/esm2022/lib/anchor-navigation.directive.mjs +0 -46
- package/esm2022/lib/content-file.mjs +0 -2
- package/esm2022/lib/content-files-list-token.mjs +0 -22
- package/esm2022/lib/content-files-token.mjs +0 -32
- package/esm2022/lib/content-renderer.mjs +0 -53
- package/esm2022/lib/content.mjs +0 -85
- package/esm2022/lib/get-content-files.mjs +0 -25
- package/esm2022/lib/inject-content-files.mjs +0 -15
- package/esm2022/lib/markdown-content-renderer.service.mjs +0 -24
- package/esm2022/lib/markdown-route.component.mjs +0 -37
- package/esm2022/lib/markdown.component.mjs +0 -100
- package/esm2022/lib/marked-content-highlighter.mjs +0 -13
- package/esm2022/lib/marked-setup.service.mjs +0 -53
- package/esm2022/lib/parse-raw-content-file.mjs +0 -6
- package/esm2022/lib/provide-content.mjs +0 -30
- package/esm2022/lib/render-task.service.mjs +0 -17
- package/esm2022/lib/utils/zone-wait-for.mjs +0 -15
- package/esm2022/og/analogjs-content-og.mjs +0 -5
- package/esm2022/og/index.mjs +0 -2
- package/esm2022/og/lib/og.mjs +0 -41
- package/esm2022/og/lib/options.mjs +0 -2
- package/esm2022/prism-highlighter/analogjs-content-prism-highlighter.mjs +0 -5
- package/esm2022/prism-highlighter/index.mjs +0 -11
- package/esm2022/prism-highlighter/lib/prism/angular.mjs +0 -20
- package/esm2022/prism-highlighter/lib/prism-highlighter.mjs +0 -51
- package/esm2022/shiki-highlighter/analogjs-content-shiki-highlighter.mjs +0 -5
- package/esm2022/shiki-highlighter/index.mjs +0 -10
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { getContentFilesList } from './get-content-files';
|
|
3
|
-
function getSlug(filename) {
|
|
4
|
-
const parts = filename.match(/^(\\|\/)(.+(\\|\/))*(.+)\.(.+)$/);
|
|
5
|
-
return parts?.length ? parts[4] : '';
|
|
6
|
-
}
|
|
7
|
-
export const CONTENT_FILES_LIST_TOKEN = new InjectionToken('@analogjs/content Content Files List', {
|
|
8
|
-
providedIn: 'root',
|
|
9
|
-
factory() {
|
|
10
|
-
const contentFiles = getContentFilesList();
|
|
11
|
-
return Object.keys(contentFiles).map((filename) => {
|
|
12
|
-
const attributes = contentFiles[filename];
|
|
13
|
-
const slug = attributes['slug'];
|
|
14
|
-
return {
|
|
15
|
-
filename,
|
|
16
|
-
attributes,
|
|
17
|
-
slug: slug ? encodeURI(slug) : encodeURI(getSlug(filename)),
|
|
18
|
-
};
|
|
19
|
-
});
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1maWxlcy1saXN0LXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL2NvbnRlbnQtZmlsZXMtbGlzdC10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELFNBQVMsT0FBTyxDQUFDLFFBQWdCO0lBQy9CLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNoRSxPQUFPLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDeEQsc0NBQXNDLEVBQ3RDO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTztRQUNMLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixFQUFFLENBQUM7UUFFM0MsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2hELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFaEMsT0FBTztnQkFDTCxRQUFRO2dCQUNSLFVBQVU7Z0JBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzVELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudEZpbGUgfSBmcm9tICcuL2NvbnRlbnQtZmlsZSc7XG5pbXBvcnQgeyBnZXRDb250ZW50RmlsZXNMaXN0IH0gZnJvbSAnLi9nZXQtY29udGVudC1maWxlcyc7XG5cbmZ1bmN0aW9uIGdldFNsdWcoZmlsZW5hbWU6IHN0cmluZykge1xuICBjb25zdCBwYXJ0cyA9IGZpbGVuYW1lLm1hdGNoKC9eKFxcXFx8XFwvKSguKyhcXFxcfFxcLykpKiguKylcXC4oLispJC8pO1xuICByZXR1cm4gcGFydHM/Lmxlbmd0aCA/IHBhcnRzWzRdIDogJyc7XG59XG5cbmV4cG9ydCBjb25zdCBDT05URU5UX0ZJTEVTX0xJU1RfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29udGVudEZpbGVbXT4oXG4gICdAYW5hbG9nanMvY29udGVudCBDb250ZW50IEZpbGVzIExpc3QnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3RvcnkoKSB7XG4gICAgICBjb25zdCBjb250ZW50RmlsZXMgPSBnZXRDb250ZW50RmlsZXNMaXN0KCk7XG5cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhjb250ZW50RmlsZXMpLm1hcCgoZmlsZW5hbWUpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IGNvbnRlbnRGaWxlc1tmaWxlbmFtZV07XG4gICAgICAgIGNvbnN0IHNsdWcgPSBhdHRyaWJ1dGVzWydzbHVnJ107XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICBhdHRyaWJ1dGVzLFxuICAgICAgICAgIHNsdWc6IHNsdWcgPyBlbmNvZGVVUkkoc2x1ZykgOiBlbmNvZGVVUkkoZ2V0U2x1ZyhmaWxlbmFtZSkpLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSxcbiAgfVxuKTtcbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, inject } from '@angular/core';
|
|
2
|
-
import { getAgxFiles, getContentFiles } from './get-content-files';
|
|
3
|
-
import { CONTENT_FILES_LIST_TOKEN } from './content-files-list-token';
|
|
4
|
-
export const CONTENT_FILES_TOKEN = new InjectionToken('@analogjs/content Content Files', {
|
|
5
|
-
providedIn: 'root',
|
|
6
|
-
factory() {
|
|
7
|
-
const contentFiles = getContentFiles();
|
|
8
|
-
const agxFiles = getAgxFiles();
|
|
9
|
-
const allFiles = { ...contentFiles, ...agxFiles };
|
|
10
|
-
const contentFilesList = inject(CONTENT_FILES_LIST_TOKEN);
|
|
11
|
-
const lookup = {};
|
|
12
|
-
contentFilesList.forEach((item) => {
|
|
13
|
-
const fileParts = item.filename.split('/');
|
|
14
|
-
const filePath = fileParts.slice(0, fileParts.length - 1).join('/');
|
|
15
|
-
const fileNameParts = fileParts[fileParts.length - 1].split('.');
|
|
16
|
-
lookup[item.filename] = `${filePath}/${item.slug}.${fileNameParts[fileNameParts.length - 1]}`;
|
|
17
|
-
});
|
|
18
|
-
const objectUsingSlugAttribute = {};
|
|
19
|
-
Object.entries(allFiles).forEach((entry) => {
|
|
20
|
-
const filename = entry[0];
|
|
21
|
-
const value = entry[1];
|
|
22
|
-
const newFilename = lookup[filename];
|
|
23
|
-
if (newFilename !== undefined) {
|
|
24
|
-
const objectFilename = newFilename.replace(/^\/(.*?)\/content/, '/src/content');
|
|
25
|
-
objectUsingSlugAttribute[objectFilename] =
|
|
26
|
-
value;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
return objectUsingSlugAttribute;
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1maWxlcy10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9jb250ZW50LWZpbGVzLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBRW5ELGlDQUFpQyxFQUFFO0lBQ25DLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU87UUFDTCxNQUFNLFlBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUMvQixNQUFNLFFBQVEsR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDbEQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUUxRCxNQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1FBQzFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQzlDLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDeEMsRUFBRSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLHdCQUF3QixHQUEwQyxFQUFFLENBQUM7UUFDM0UsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN6QyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXZCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FDeEMsbUJBQW1CLEVBQ25CLGNBQWMsQ0FDZixDQUFDO2dCQUNGLHdCQUF3QixDQUFDLGNBQWMsQ0FBQztvQkFDdEMsS0FBOEIsQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLHdCQUF3QixDQUFDO0lBQ2xDLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldEFneEZpbGVzLCBnZXRDb250ZW50RmlsZXMgfSBmcm9tICcuL2dldC1jb250ZW50LWZpbGVzJztcbmltcG9ydCB7IENPTlRFTlRfRklMRVNfTElTVF9UT0tFTiB9IGZyb20gJy4vY29udGVudC1maWxlcy1saXN0LXRva2VuJztcblxuZXhwb3J0IGNvbnN0IENPTlRFTlRfRklMRVNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIFJlY29yZDxzdHJpbmcsICgpID0+IFByb21pc2U8c3RyaW5nPj5cbj4oJ0BhbmFsb2dqcy9jb250ZW50IENvbnRlbnQgRmlsZXMnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeSgpIHtcbiAgICBjb25zdCBjb250ZW50RmlsZXMgPSBnZXRDb250ZW50RmlsZXMoKTtcbiAgICBjb25zdCBhZ3hGaWxlcyA9IGdldEFneEZpbGVzKCk7XG4gICAgY29uc3QgYWxsRmlsZXMgPSB7IC4uLmNvbnRlbnRGaWxlcywgLi4uYWd4RmlsZXMgfTtcbiAgICBjb25zdCBjb250ZW50RmlsZXNMaXN0ID0gaW5qZWN0KENPTlRFTlRfRklMRVNfTElTVF9UT0tFTik7XG5cbiAgICBjb25zdCBsb29rdXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBjb250ZW50RmlsZXNMaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGZpbGVQYXJ0cyA9IGl0ZW0uZmlsZW5hbWUuc3BsaXQoJy8nKTtcbiAgICAgIGNvbnN0IGZpbGVQYXRoID0gZmlsZVBhcnRzLnNsaWNlKDAsIGZpbGVQYXJ0cy5sZW5ndGggLSAxKS5qb2luKCcvJyk7XG4gICAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZVBhcnRzW2ZpbGVQYXJ0cy5sZW5ndGggLSAxXS5zcGxpdCgnLicpO1xuICAgICAgbG9va3VwW2l0ZW0uZmlsZW5hbWVdID0gYCR7ZmlsZVBhdGh9LyR7aXRlbS5zbHVnfS4ke1xuICAgICAgICBmaWxlTmFtZVBhcnRzW2ZpbGVOYW1lUGFydHMubGVuZ3RoIC0gMV1cbiAgICAgIH1gO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgb2JqZWN0VXNpbmdTbHVnQXR0cmlidXRlOiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiBQcm9taXNlPHN0cmluZz4+ID0ge307XG4gICAgT2JqZWN0LmVudHJpZXMoYWxsRmlsZXMpLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICBjb25zdCBmaWxlbmFtZSA9IGVudHJ5WzBdO1xuICAgICAgY29uc3QgdmFsdWUgPSBlbnRyeVsxXTtcblxuICAgICAgY29uc3QgbmV3RmlsZW5hbWUgPSBsb29rdXBbZmlsZW5hbWVdO1xuICAgICAgaWYgKG5ld0ZpbGVuYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3Qgb2JqZWN0RmlsZW5hbWUgPSBuZXdGaWxlbmFtZS5yZXBsYWNlKFxuICAgICAgICAgIC9eXFwvKC4qPylcXC9jb250ZW50LyxcbiAgICAgICAgICAnL3NyYy9jb250ZW50J1xuICAgICAgICApO1xuICAgICAgICBvYmplY3RVc2luZ1NsdWdBdHRyaWJ1dGVbb2JqZWN0RmlsZW5hbWVdID1cbiAgICAgICAgICB2YWx1ZSBhcyAoKSA9PiBQcm9taXNlPHN0cmluZz47XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb2JqZWN0VXNpbmdTbHVnQXR0cmlidXRlO1xuICB9LFxufSk7XG4iXX0=
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/// <reference types="vite/client" />
|
|
2
|
-
import { Injectable, TransferState, inject, makeStateKey } from '@angular/core';
|
|
3
|
-
import { getHeadingList } from 'marked-gfm-heading-id';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ContentRenderer {
|
|
6
|
-
async render(content) {
|
|
7
|
-
return content;
|
|
8
|
-
}
|
|
9
|
-
getContentHeadings() {
|
|
10
|
-
return [];
|
|
11
|
-
}
|
|
12
|
-
// eslint-disable-next-line
|
|
13
|
-
enhance() { }
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ContentRenderer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ContentRenderer }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ContentRenderer, decorators: [{
|
|
18
|
-
type: Injectable
|
|
19
|
-
}] });
|
|
20
|
-
export class NoopContentRenderer {
|
|
21
|
-
constructor() {
|
|
22
|
-
this.transferState = inject(TransferState);
|
|
23
|
-
this.contentId = 0;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Generates a hash from the content string
|
|
27
|
-
* to be used with the transfer state
|
|
28
|
-
*/
|
|
29
|
-
generateHash(str) {
|
|
30
|
-
let hash = 0;
|
|
31
|
-
for (let i = 0, len = str.length; i < len; i++) {
|
|
32
|
-
let chr = str.charCodeAt(i);
|
|
33
|
-
hash = (hash << 5) - hash + chr;
|
|
34
|
-
hash |= 0; // Convert to 32bit integer
|
|
35
|
-
}
|
|
36
|
-
return hash;
|
|
37
|
-
}
|
|
38
|
-
async render(content) {
|
|
39
|
-
this.contentId = this.generateHash(content);
|
|
40
|
-
return content;
|
|
41
|
-
}
|
|
42
|
-
enhance() { }
|
|
43
|
-
getContentHeadings() {
|
|
44
|
-
const key = makeStateKey(`content-headings-${this.contentId}`);
|
|
45
|
-
if (import.meta.env.SSR === true) {
|
|
46
|
-
const headings = getHeadingList();
|
|
47
|
-
this.transferState.set(key, headings);
|
|
48
|
-
return headings;
|
|
49
|
-
}
|
|
50
|
-
return this.transferState.get(key, []);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9jb250ZW50LXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUVyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFTdkQsTUFBTSxPQUFnQixlQUFlO0lBQ25DLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMxQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELDJCQUEyQjtJQUMzQixPQUFPLEtBQUksQ0FBQzs4R0FWUSxlQUFlO2tIQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRHBDLFVBQVU7O0FBY1gsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUNtQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQyxjQUFTLEdBQUcsQ0FBQyxDQUFDO0lBbUN4QixDQUFDO0lBakNDOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxHQUFXO1FBQzlCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMvQyxJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQywyQkFBMkI7UUFDeEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUNELE9BQU8sS0FBSSxDQUFDO0lBRVosa0JBQWtCO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FDdEIsb0JBQW9CLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FDckMsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sUUFBUSxHQUFHLGNBQWMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN0QyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlL2NsaWVudFwiIC8+XG5cbmltcG9ydCB7IEluamVjdGFibGUsIFRyYW5zZmVyU3RhdGUsIGluamVjdCwgbWFrZVN0YXRlS2V5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRIZWFkaW5nTGlzdCB9IGZyb20gJ21hcmtlZC1nZm0taGVhZGluZy1pZCc7XG5cbmV4cG9ydCB0eXBlIFRhYmxlT2ZDb250ZW50SXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IG51bWJlcjsgLy8gc3RhcnRzIGF0IDFcbiAgdGV4dDogc3RyaW5nO1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRlbnRSZW5kZXJlciB7XG4gIGFzeW5jIHJlbmRlcihjb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgZ2V0Q29udGVudEhlYWRpbmdzKCk6IEFycmF5PFRhYmxlT2ZDb250ZW50SXRlbT4ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBlbmhhbmNlKCkge31cbn1cblxuZXhwb3J0IGNsYXNzIE5vb3BDb250ZW50UmVuZGVyZXIgaW1wbGVtZW50cyBDb250ZW50UmVuZGVyZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zZmVyU3RhdGUgPSBpbmplY3QoVHJhbnNmZXJTdGF0ZSk7XG4gIHByaXZhdGUgY29udGVudElkID0gMDtcblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgaGFzaCBmcm9tIHRoZSBjb250ZW50IHN0cmluZ1xuICAgKiB0byBiZSB1c2VkIHdpdGggdGhlIHRyYW5zZmVyIHN0YXRlXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlSGFzaChzdHI6IHN0cmluZykge1xuICAgIGxldCBoYXNoID0gMDtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gc3RyLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBsZXQgY2hyID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICBoYXNoID0gKGhhc2ggPDwgNSkgLSBoYXNoICsgY2hyO1xuICAgICAgaGFzaCB8PSAwOyAvLyBDb252ZXJ0IHRvIDMyYml0IGludGVnZXJcbiAgICB9XG4gICAgcmV0dXJuIGhhc2g7XG4gIH1cblxuICBhc3luYyByZW5kZXIoY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5jb250ZW50SWQgPSB0aGlzLmdlbmVyYXRlSGFzaChjb250ZW50KTtcbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuICBlbmhhbmNlKCkge31cblxuICBnZXRDb250ZW50SGVhZGluZ3MoKTogQXJyYXk8VGFibGVPZkNvbnRlbnRJdGVtPiB7XG4gICAgY29uc3Qga2V5ID0gbWFrZVN0YXRlS2V5PFRhYmxlT2ZDb250ZW50SXRlbVtdPihcbiAgICAgIGBjb250ZW50LWhlYWRpbmdzLSR7dGhpcy5jb250ZW50SWR9YFxuICAgICk7XG5cbiAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LlNTUiA9PT0gdHJ1ZSkge1xuICAgICAgY29uc3QgaGVhZGluZ3MgPSBnZXRIZWFkaW5nTGlzdCgpO1xuICAgICAgdGhpcy50cmFuc2ZlclN0YXRlLnNldChrZXksIGhlYWRpbmdzKTtcbiAgICAgIHJldHVybiBoZWFkaW5ncztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50cmFuc2ZlclN0YXRlLmdldChrZXksIFtdKTtcbiAgfVxufVxuIl19
|
package/esm2022/lib/content.mjs
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/// <reference types="vite/client" />
|
|
2
|
-
import { inject } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute } from '@angular/router';
|
|
4
|
-
import { Observable, of } from 'rxjs';
|
|
5
|
-
import { map, switchMap, tap } from 'rxjs/operators';
|
|
6
|
-
import { CONTENT_FILES_TOKEN } from './content-files-token';
|
|
7
|
-
import { parseRawContentFile } from './parse-raw-content-file';
|
|
8
|
-
import { waitFor } from './utils/zone-wait-for';
|
|
9
|
-
import { RenderTaskService } from './render-task.service';
|
|
10
|
-
function getContentFile(contentFiles, prefix, slug, fallback, renderTaskService) {
|
|
11
|
-
const filePath = `/src/content/${prefix}${slug}`;
|
|
12
|
-
const contentFile = contentFiles[`${filePath}.md`] ?? contentFiles[`${filePath}.agx`];
|
|
13
|
-
if (!contentFile) {
|
|
14
|
-
return of({
|
|
15
|
-
filename: filePath,
|
|
16
|
-
attributes: {},
|
|
17
|
-
slug: '',
|
|
18
|
-
content: fallback,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
const contentTask = renderTaskService.addRenderTask();
|
|
22
|
-
return new Observable((observer) => {
|
|
23
|
-
const contentResolver = contentFile();
|
|
24
|
-
if (import.meta.env.SSR === true) {
|
|
25
|
-
waitFor(contentResolver).then((content) => {
|
|
26
|
-
observer.next(content);
|
|
27
|
-
observer.complete();
|
|
28
|
-
setTimeout(() => renderTaskService.clearRenderTask(contentTask), 10);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
contentResolver.then((content) => {
|
|
33
|
-
observer.next(content);
|
|
34
|
-
observer.complete();
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}).pipe(map((contentFile) => {
|
|
38
|
-
if (typeof contentFile === 'string') {
|
|
39
|
-
const { content, attributes } = parseRawContentFile(contentFile);
|
|
40
|
-
return {
|
|
41
|
-
filename: filePath,
|
|
42
|
-
slug,
|
|
43
|
-
attributes,
|
|
44
|
-
content,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
return {
|
|
48
|
-
filename: filePath,
|
|
49
|
-
slug,
|
|
50
|
-
attributes: contentFile.metadata,
|
|
51
|
-
content: contentFile.default,
|
|
52
|
-
};
|
|
53
|
-
}));
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Retrieves the static content using the provided param and/or prefix.
|
|
57
|
-
*
|
|
58
|
-
* @param param route parameter (default: 'slug')
|
|
59
|
-
* @param fallback fallback text if content file is not found (default: 'No Content Found')
|
|
60
|
-
*/
|
|
61
|
-
export function injectContent(param = 'slug', fallback = 'No Content Found') {
|
|
62
|
-
const contentFiles = inject(CONTENT_FILES_TOKEN);
|
|
63
|
-
const renderTaskService = inject(RenderTaskService);
|
|
64
|
-
const task = renderTaskService.addRenderTask();
|
|
65
|
-
if (typeof param === 'string' || 'param' in param) {
|
|
66
|
-
const prefix = typeof param === 'string' ? '' : `${param.subdirectory}/`;
|
|
67
|
-
const route = inject(ActivatedRoute);
|
|
68
|
-
const paramKey = typeof param === 'string' ? param : param.param;
|
|
69
|
-
return route.paramMap.pipe(map((params) => params.get(paramKey)), switchMap((slug) => {
|
|
70
|
-
if (slug) {
|
|
71
|
-
return getContentFile(contentFiles, prefix, slug, fallback, renderTaskService);
|
|
72
|
-
}
|
|
73
|
-
return of({
|
|
74
|
-
filename: '',
|
|
75
|
-
slug: '',
|
|
76
|
-
attributes: {},
|
|
77
|
-
content: fallback,
|
|
78
|
-
});
|
|
79
|
-
}), tap(() => renderTaskService.clearRenderTask(task)));
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
return getContentFile(contentFiles, '', param.customFilename, fallback, renderTaskService).pipe(tap(() => renderTaskService.clearRenderTask(task)));
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsU0FBUyxjQUFjLENBR3JCLFlBQW1ELEVBQ25ELE1BQWMsRUFDZCxJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsaUJBQW9DO0lBRXBDLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDakQsTUFBTSxXQUFXLEdBQ2YsWUFBWSxDQUFDLEdBQUcsUUFBUSxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsR0FBRyxRQUFRLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQixPQUFPLEVBQUUsQ0FBQztZQUNSLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFVBQVUsRUFBRSxFQUFFO1lBQ2QsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUUsUUFBUTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFD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O1lBQ0QsT0FBTyxFQUFFLENBQUM7Z0JBQ1IsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLFFBQVE7YUFDbEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNuRCxDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLGNBQWMsQ0FDbkIsWUFBWSxFQUNaLEVBQUUsRUFDRixLQUFLLENBQUMsY0FBYyxFQUNwQixRQUFRLEVBQ1IsaUJBQWlCLENBQ2xCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlL2NsaWVudFwiIC8+XG5cbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENvbnRlbnRGaWxlIH0gZnJvbSAnLi9jb250ZW50LWZpbGUnO1xuaW1wb3J0IHsgQ09OVEVOVF9GSUxFU19UT0tFTiB9IGZyb20gJy4vY29udGVudC1maWxlcy10b2tlbic7XG5pbXBvcnQgeyBwYXJzZVJhd0NvbnRlbnRGaWxlIH0gZnJvbSAnLi9wYXJzZS1yYXctY29udGVudC1maWxlJztcbmltcG9ydCB7IHdhaXRGb3IgfSBmcm9tICcuL3V0aWxzL3pvbmUtd2FpdC1mb3InO1xuaW1wb3J0IHsgUmVuZGVyVGFza1NlcnZpY2UgfSBmcm9tICcuL3JlbmRlci10YXNrLnNlcnZpY2UnO1xuXG5mdW5jdGlvbiBnZXRDb250ZW50RmlsZTxcbiAgQXR0cmlidXRlcyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4+KFxuICBjb250ZW50RmlsZXM6IFJlY29yZDxzdHJpbmcsICgpID0+IFByb21pc2U8c3RyaW5nPj4sXG4gIHByZWZpeDogc3RyaW5nLFxuICBzbHVnOiBzdHJpbmcsXG4gIGZhbGxiYWNrOiBzdHJpbmcsXG4gIHJlbmRlclRhc2tTZXJ2aWNlOiBSZW5kZXJUYXNrU2VydmljZVxuKTogT2JzZXJ2YWJsZTxDb250ZW50RmlsZTxBdHRyaWJ1dGVzIHwgUmVjb3JkPHN0cmluZywgbmV2ZXI+Pj4ge1xuICBjb25zdCBmaWxlUGF0aCA9IGAvc3JjL2NvbnRlbnQvJHtwcmVmaXh9JHtzbHVnfWA7XG4gIGNvbnN0IGNvbnRlbnRGaWxlID1cbiAgICBjb250ZW50RmlsZXNbYCR7ZmlsZVBhdGh9Lm1kYF0gPz8gY29udGVudEZpbGVzW2Ake2ZpbGVQYXRofS5hZ3hgXTtcbiAgaWYgKCFjb250ZW50RmlsZSkge1xuICAgIHJldHVybiBvZih7XG4gICAgICBmaWxlbmFtZTogZmlsZVBhdGgsXG4gICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICAgIHNsdWc6ICcnLFxuICAgICAgY29udGVudDogZmFsbGJhY2ssXG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBjb250ZW50VGFzayA9IHJlbmRlclRhc2tTZXJ2aWNlLmFkZFJlbmRlclRhc2soKTtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZyB8IHsgZGVmYXVsdDogYW55OyBtZXRhZGF0YTogYW55IH0+KFxuICAgIChvYnNlcnZlcikgPT4ge1xuICAgICAgY29uc3QgY29udGVudFJlc29sdmVyID0gY29udGVudEZpbGUoKTtcblxuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5TU1IgPT09IHRydWUpIHtcbiAgICAgICAgd2FpdEZvcihjb250ZW50UmVzb2x2ZXIpLnRoZW4oKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KGNvbnRlbnQpO1xuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlbmRlclRhc2tTZXJ2aWNlLmNsZWFyUmVuZGVyVGFzayhjb250ZW50VGFzayksIDEwKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50UmVzb2x2ZXIudGhlbigoY29udGVudCkgPT4ge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQoY29udGVudCk7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICApLnBpcGUoXG4gICAgbWFwKChjb250ZW50RmlsZSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBjb250ZW50RmlsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgeyBjb250ZW50LCBhdHRyaWJ1dGVzIH0gPVxuICAgICAgICAgIHBhcnNlUmF3Q29udGVudEZpbGU8QXR0cmlidXRlcz4oY29udGVudEZpbGUpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZmlsZW5hbWU6IGZpbGVQYXRoLFxuICAgICAgICAgIHNsdWcsXG4gICAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgICBjb250ZW50LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmlsZW5hbWU6IGZpbGVQYXRoLFxuICAgICAgICBzbHVnLFxuICAgICAgICBhdHRyaWJ1dGVzOiBjb250ZW50RmlsZS5tZXRhZGF0YSxcbiAgICAgICAgY29udGVudDogY29udGVudEZpbGUuZGVmYXVsdCxcbiAgICAgIH07XG4gICAgfSlcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHN0YXRpYyBjb250ZW50IHVzaW5nIHRoZSBwcm92aWRlZCBwYXJhbSBhbmQvb3IgcHJlZml4LlxuICpcbiAqIEBwYXJhbSBwYXJhbSByb3V0ZSBwYXJhbWV0ZXIgKGRlZmF1bHQ6ICdzbHVnJylcbiAqIEBwYXJhbSBmYWxsYmFjayBmYWxsYmFjayB0ZXh0IGlmIGNvbnRlbnQgZmlsZSBpcyBub3QgZm91bmQgKGRlZmF1bHQ6ICdObyBDb250ZW50IEZvdW5kJylcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdENvbnRlbnQ8XG4gIEF0dHJpYnV0ZXMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55PlxuPihcbiAgcGFyYW06XG4gICAgfCBzdHJpbmdcbiAgICB8IHtcbiAgICAgICAgcGFyYW06IHN0cmluZztcbiAgICAgICAgc3ViZGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGN1c3RvbUZpbGVuYW1lOiBzdHJpbmc7XG4gICAgICB9ID0gJ3NsdWcnLFxuICBmYWxsYmFjayA9ICdObyBDb250ZW50IEZvdW5kJ1xuKTogT2JzZXJ2YWJsZTxDb250ZW50RmlsZTxBdHRyaWJ1dGVzIHwgUmVjb3JkPHN0cmluZywgbmV2ZXI+Pj4ge1xuICBjb25zdCBjb250ZW50RmlsZXMgPSBpbmplY3QoQ09OVEVOVF9GSUxFU19UT0tFTik7XG4gIGNvbnN0IHJlbmRlclRhc2tTZXJ2aWNlID0gaW5qZWN0KFJlbmRlclRhc2tTZXJ2aWNlKTtcbiAgY29uc3QgdGFzayA9IHJlbmRlclRhc2tTZXJ2aWNlLmFkZFJlbmRlclRhc2soKTtcblxuICBpZiAodHlwZW9mIHBhcmFtID09PSAnc3RyaW5nJyB8fCAncGFyYW0nIGluIHBhcmFtKSB7XG4gICAgY29uc3QgcHJlZml4ID0gdHlwZW9mIHBhcmFtID09PSAnc3RyaW5nJyA/ICcnIDogYCR7cGFyYW0uc3ViZGlyZWN0b3J5fS9gO1xuICAgIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICBjb25zdCBwYXJhbUtleSA9IHR5cGVvZiBwYXJhbSA9PT0gJ3N0cmluZycgPyBwYXJhbSA6IHBhcmFtLnBhcmFtO1xuICAgIHJldHVybiByb3V0ZS5wYXJhbU1hcC5waXBlKFxuICAgICAgbWFwKChwYXJhbXMpID0+IHBhcmFtcy5nZXQocGFyYW1LZXkpKSxcbiAgICAgIHN3aXRjaE1hcCgoc2x1ZykgPT4ge1xuICAgICAgICBpZiAoc2x1Zykge1xuICAgICAgICAgIHJldHVybiBnZXRDb250ZW50RmlsZTxBdHRyaWJ1dGVzPihcbiAgICAgICAgICAgIGNvbnRlbnRGaWxlcyxcbiAgICAgICAgICAgIHByZWZpeCxcbiAgICAgICAgICAgIHNsdWcsXG4gICAgICAgICAgICBmYWxsYmFjayxcbiAgICAgICAgICAgIHJlbmRlclRhc2tTZXJ2aWNlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2Yoe1xuICAgICAgICAgIGZpbGVuYW1lOiAnJyxcbiAgICAgICAgICBzbHVnOiAnJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICAgICAgICBjb250ZW50OiBmYWxsYmFjayxcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoKSA9PiByZW5kZXJUYXNrU2VydmljZS5jbGVhclJlbmRlclRhc2sodGFzaykpXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZ2V0Q29udGVudEZpbGU8QXR0cmlidXRlcz4oXG4gICAgICBjb250ZW50RmlsZXMsXG4gICAgICAnJyxcbiAgICAgIHBhcmFtLmN1c3RvbUZpbGVuYW1lLFxuICAgICAgZmFsbGJhY2ssXG4gICAgICByZW5kZXJUYXNrU2VydmljZVxuICAgICkucGlwZSh0YXAoKCkgPT4gcmVuZGVyVGFza1NlcnZpY2UuY2xlYXJSZW5kZXJUYXNrKHRhc2spKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns the list of content files by filename with ?analog-content-list=true.
|
|
3
|
-
* We use the query param to transform the return into an array of
|
|
4
|
-
* just front matter attributes.
|
|
5
|
-
*
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export const getContentFilesList = () => {
|
|
9
|
-
let ANALOG_CONTENT_FILE_LIST = {};
|
|
10
|
-
return ANALOG_CONTENT_FILE_LIST;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Returns the lazy loaded content files for lookups.
|
|
14
|
-
*
|
|
15
|
-
* @returns
|
|
16
|
-
*/
|
|
17
|
-
export const getContentFiles = () => {
|
|
18
|
-
let ANALOG_CONTENT_ROUTE_FILES = {};
|
|
19
|
-
return ANALOG_CONTENT_ROUTE_FILES;
|
|
20
|
-
};
|
|
21
|
-
export const getAgxFiles = () => {
|
|
22
|
-
let ANALOG_AGX_FILES = {};
|
|
23
|
-
return ANALOG_AGX_FILES;
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNvbnRlbnQtZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9saWIvZ2V0LWNvbnRlbnQtZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO0lBQ3RDLElBQUksd0JBQXdCLEdBQUcsRUFBRSxDQUFDO0lBRWxDLE9BQU8sd0JBQStELENBQUM7QUFDekUsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDbEMsSUFBSSwwQkFBMEIsR0FBRyxFQUFFLENBQUM7SUFFcEMsT0FBTywwQkFBMEIsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFO0lBQzlCLElBQUksZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBRTFCLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGNvbnRlbnQgZmlsZXMgYnkgZmlsZW5hbWUgd2l0aCA/YW5hbG9nLWNvbnRlbnQtbGlzdD10cnVlLlxuICogV2UgdXNlIHRoZSBxdWVyeSBwYXJhbSB0byB0cmFuc2Zvcm0gdGhlIHJldHVybiBpbnRvIGFuIGFycmF5IG9mXG4gKiBqdXN0IGZyb250IG1hdHRlciBhdHRyaWJ1dGVzLlxuICpcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDb250ZW50RmlsZXNMaXN0ID0gKCkgPT4ge1xuICBsZXQgQU5BTE9HX0NPTlRFTlRfRklMRV9MSVNUID0ge307XG5cbiAgcmV0dXJuIEFOQUxPR19DT05URU5UX0ZJTEVfTElTVCBhcyBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pjtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbGF6eSBsb2FkZWQgY29udGVudCBmaWxlcyBmb3IgbG9va3Vwcy5cbiAqXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Q29udGVudEZpbGVzID0gKCkgPT4ge1xuICBsZXQgQU5BTE9HX0NPTlRFTlRfUk9VVEVfRklMRVMgPSB7fTtcblxuICByZXR1cm4gQU5BTE9HX0NPTlRFTlRfUk9VVEVfRklMRVM7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWd4RmlsZXMgPSAoKSA9PiB7XG4gIGxldCBBTkFMT0dfQUdYX0ZJTEVTID0ge307XG5cbiAgcmV0dXJuIEFOQUxPR19BR1hfRklMRVM7XG59O1xuIl19
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { inject } from '@angular/core';
|
|
2
|
-
import { CONTENT_FILES_LIST_TOKEN } from './content-files-list-token';
|
|
3
|
-
import { RenderTaskService } from './render-task.service';
|
|
4
|
-
export function injectContentFiles(filterFn) {
|
|
5
|
-
const renderTaskService = inject(RenderTaskService);
|
|
6
|
-
const task = renderTaskService.addRenderTask();
|
|
7
|
-
const allContentFiles = inject(CONTENT_FILES_LIST_TOKEN);
|
|
8
|
-
renderTaskService.clearRenderTask(task);
|
|
9
|
-
if (filterFn) {
|
|
10
|
-
const filteredContentFiles = allContentFiles.filter(filterFn);
|
|
11
|
-
return filteredContentFiles;
|
|
12
|
-
}
|
|
13
|
-
return allContentFiles;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LWNvbnRlbnQtZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9saWIvaW5qZWN0LWNvbnRlbnQtZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFFBQXVEO0lBRXZELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDL0MsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUM1Qix3QkFBd0IsQ0FDSSxDQUFDO0lBQy9CLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlELE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50RmlsZSB9IGZyb20gJy4vY29udGVudC1maWxlJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ09OVEVOVF9GSUxFU19MSVNUX1RPS0VOIH0gZnJvbSAnLi9jb250ZW50LWZpbGVzLWxpc3QtdG9rZW4nO1xuaW1wb3J0IHsgUmVuZGVyVGFza1NlcnZpY2UgfSBmcm9tICcuL3JlbmRlci10YXNrLnNlcnZpY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Q29udGVudEZpbGVzPEF0dHJpYnV0ZXMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcbiAgZmlsdGVyRm4/OiBJbmplY3RDb250ZW50RmlsZXNGaWx0ZXJGdW5jdGlvbjxBdHRyaWJ1dGVzPlxuKTogQ29udGVudEZpbGU8QXR0cmlidXRlcz5bXSB7XG4gIGNvbnN0IHJlbmRlclRhc2tTZXJ2aWNlID0gaW5qZWN0KFJlbmRlclRhc2tTZXJ2aWNlKTtcbiAgY29uc3QgdGFzayA9IHJlbmRlclRhc2tTZXJ2aWNlLmFkZFJlbmRlclRhc2soKTtcbiAgY29uc3QgYWxsQ29udGVudEZpbGVzID0gaW5qZWN0KFxuICAgIENPTlRFTlRfRklMRVNfTElTVF9UT0tFTlxuICApIGFzIENvbnRlbnRGaWxlPEF0dHJpYnV0ZXM+W107XG4gIHJlbmRlclRhc2tTZXJ2aWNlLmNsZWFyUmVuZGVyVGFzayh0YXNrKTtcblxuICBpZiAoZmlsdGVyRm4pIHtcbiAgICBjb25zdCBmaWx0ZXJlZENvbnRlbnRGaWxlcyA9IGFsbENvbnRlbnRGaWxlcy5maWx0ZXIoZmlsdGVyRm4pO1xuXG4gICAgcmV0dXJuIGZpbHRlcmVkQ29udGVudEZpbGVzO1xuICB9XG5cbiAgcmV0dXJuIGFsbENvbnRlbnRGaWxlcztcbn1cblxuZXhwb3J0IHR5cGUgSW5qZWN0Q29udGVudEZpbGVzRmlsdGVyRnVuY3Rpb248VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+ID0gKFxuICB2YWx1ZTogQ29udGVudEZpbGU8VD4sXG4gIGluZGV4OiBudW1iZXIsXG4gIGFycmF5OiBDb250ZW50RmlsZTxUPltdXG4pID0+IGJvb2xlYW47XG4iXX0=
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { getHeadingList } from 'marked-gfm-heading-id';
|
|
3
|
-
import { MarkedSetupService } from './marked-setup.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class MarkdownContentRendererService {
|
|
6
|
-
#marked = inject(MarkedSetupService, { self: true });
|
|
7
|
-
async render(content) {
|
|
8
|
-
return this.#marked.getMarkedInstance().parse(content);
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* The method is meant to be called after `render()`
|
|
12
|
-
*/
|
|
13
|
-
getContentHeadings() {
|
|
14
|
-
return getHeadingList();
|
|
15
|
-
}
|
|
16
|
-
// eslint-disable-next-line
|
|
17
|
-
enhance() { }
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkdownContentRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
19
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkdownContentRendererService }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkdownContentRendererService, decorators: [{
|
|
22
|
-
type: Injectable
|
|
23
|
-
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tY29udGVudC1yZW5kZXJlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLWNvbnRlbnQtcmVuZGVyZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRzVELE1BQU0sT0FBTyw4QkFBOEI7SUFDekMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXJELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMxQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixPQUFPLEtBQUksQ0FBQzs4R0FmRCw4QkFBOEI7a0hBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFEMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0SGVhZGluZ0xpc3QgfSBmcm9tICdtYXJrZWQtZ2ZtLWhlYWRpbmctaWQnO1xuXG5pbXBvcnQgeyBDb250ZW50UmVuZGVyZXIsIFRhYmxlT2ZDb250ZW50SXRlbSB9IGZyb20gJy4vY29udGVudC1yZW5kZXJlcic7XG5pbXBvcnQgeyBNYXJrZWRTZXR1cFNlcnZpY2UgfSBmcm9tICcuL21hcmtlZC1zZXR1cC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duQ29udGVudFJlbmRlcmVyU2VydmljZSBpbXBsZW1lbnRzIENvbnRlbnRSZW5kZXJlciB7XG4gICNtYXJrZWQgPSBpbmplY3QoTWFya2VkU2V0dXBTZXJ2aWNlLCB7IHNlbGY6IHRydWUgfSk7XG5cbiAgYXN5bmMgcmVuZGVyKGNvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuI21hcmtlZC5nZXRNYXJrZWRJbnN0YW5jZSgpLnBhcnNlKGNvbnRlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRob2QgaXMgbWVhbnQgdG8gYmUgY2FsbGVkIGFmdGVyIGByZW5kZXIoKWBcbiAgICovXG4gIGdldENvbnRlbnRIZWFkaW5ncygpOiBUYWJsZU9mQ29udGVudEl0ZW1bXSB7XG4gICAgcmV0dXJuIGdldEhlYWRpbmdMaXN0KCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgZW5oYW5jZSgpIHt9XG59XG4iXX0=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { AsyncPipe } from '@angular/common';
|
|
2
|
-
import { Component, inject, Input, ViewEncapsulation, } from '@angular/core';
|
|
3
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
|
-
import { ActivatedRoute } from '@angular/router';
|
|
5
|
-
import { ContentRenderer } from './content-renderer';
|
|
6
|
-
import { AnchorNavigationDirective } from './anchor-navigation.directive';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./anchor-navigation.directive";
|
|
9
|
-
export default class AnalogMarkdownRouteComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.sanitizer = inject(DomSanitizer);
|
|
12
|
-
this.route = inject(ActivatedRoute);
|
|
13
|
-
this.contentRenderer = inject(ContentRenderer);
|
|
14
|
-
this.content = this.sanitizer.bypassSecurityTrustHtml(this.route.snapshot.data['renderedAnalogContent']);
|
|
15
|
-
this.classes = 'analog-markdown-route';
|
|
16
|
-
}
|
|
17
|
-
ngAfterViewChecked() {
|
|
18
|
-
this.contentRenderer.enhance();
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AnalogMarkdownRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: AnalogMarkdownRouteComponent, isStandalone: true, selector: "analog-markdown-route", inputs: { classes: "classes" }, hostDirectives: [{ directive: i1.AnchorNavigationDirective }], ngImport: i0, template: `<div [innerHTML]="content" [class]="classes"></div>`, isInline: true, encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AnalogMarkdownRouteComponent, decorators: [{
|
|
24
|
-
type: Component,
|
|
25
|
-
args: [{
|
|
26
|
-
selector: 'analog-markdown-route',
|
|
27
|
-
standalone: true,
|
|
28
|
-
imports: [AsyncPipe],
|
|
29
|
-
hostDirectives: [AnchorNavigationDirective],
|
|
30
|
-
preserveWhitespaces: true,
|
|
31
|
-
encapsulation: ViewEncapsulation.None,
|
|
32
|
-
template: `<div [innerHTML]="content" [class]="classes"></div>`,
|
|
33
|
-
}]
|
|
34
|
-
}], propDecorators: { classes: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcm91dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLXJvdXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUVMLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBVzFFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNEJBQTRCO0lBVGpEO1FBVVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqQyxVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhDLFlBQU8sR0FBYSxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUNsRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FDbEQsQ0FBQztRQUVPLFlBQU8sR0FBRyx1QkFBdUIsQ0FBQztLQUs1QztJQUhDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7OEdBYmtCLDRCQUE0QjtrR0FBNUIsNEJBQTRCLGdMQUZyQyxxREFBcUQ7OzJGQUU1Qyw0QkFBNEI7a0JBVGhELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDcEIsY0FBYyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQzNDLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxRQUFRLEVBQUUscURBQXFEO2lCQUNoRTs4QkFVVSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIElucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IENvbnRlbnRSZW5kZXJlciB9IGZyb20gJy4vY29udGVudC1yZW5kZXJlcic7XG5pbXBvcnQgeyBBbmNob3JOYXZpZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmNob3ItbmF2aWdhdGlvbi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmFsb2ctbWFya2Rvd24tcm91dGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtBbmNob3JOYXZpZ2F0aW9uRGlyZWN0aXZlXSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogdHJ1ZSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGA8ZGl2IFtpbm5lckhUTUxdPVwiY29udGVudFwiIFtjbGFzc109XCJjbGFzc2VzXCI+PC9kaXY+YCxcbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBbmFsb2dNYXJrZG93blJvdXRlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIHByaXZhdGUgc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gIHByaXZhdGUgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBjb250ZW50UmVuZGVyZXIgPSBpbmplY3QoQ29udGVudFJlbmRlcmVyKTtcblxuICBwcm90ZWN0ZWQgY29udGVudDogU2FmZUh0bWwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbJ3JlbmRlcmVkQW5hbG9nQ29udGVudCddXG4gICk7XG5cbiAgQElucHV0KCkgY2xhc3NlcyA9ICdhbmFsb2ctbWFya2Rvd24tcm91dGUnO1xuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICB0aGlzLmNvbnRlbnRSZW5kZXJlci5lbmhhbmNlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { AsyncPipe, isPlatformBrowser } from '@angular/common';
|
|
2
|
-
import { Component, Input, NgZone, PLATFORM_ID, ViewChild, ViewContainerRef, ViewEncapsulation, inject, } from '@angular/core';
|
|
3
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
5
|
-
import { ActivatedRoute } from '@angular/router';
|
|
6
|
-
import { from, of } from 'rxjs';
|
|
7
|
-
import { catchError, map, mergeMap, filter } from 'rxjs/operators';
|
|
8
|
-
import { AnchorNavigationDirective } from './anchor-navigation.directive';
|
|
9
|
-
import { ContentRenderer } from './content-renderer';
|
|
10
|
-
import { MERMAID_IMPORT_TOKEN } from './provide-content';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./anchor-navigation.directive";
|
|
13
|
-
export default class AnalogMarkdownComponent {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.sanitizer = inject(DomSanitizer);
|
|
16
|
-
this.route = inject(ActivatedRoute);
|
|
17
|
-
this.zone = inject(NgZone);
|
|
18
|
-
this.platformId = inject(PLATFORM_ID);
|
|
19
|
-
this.mermaidImport = inject(MERMAID_IMPORT_TOKEN, {
|
|
20
|
-
optional: true,
|
|
21
|
-
});
|
|
22
|
-
this.content$ = this.getContentSource();
|
|
23
|
-
this.classes = 'analog-markdown';
|
|
24
|
-
this.contentRenderer = inject(ContentRenderer);
|
|
25
|
-
if (isPlatformBrowser(this.platformId) && this.mermaidImport) {
|
|
26
|
-
// Mermaid can only be loaded on client side
|
|
27
|
-
this.loadMermaid(this.mermaidImport);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.updateContent();
|
|
32
|
-
}
|
|
33
|
-
ngOnChanges() {
|
|
34
|
-
this.updateContent();
|
|
35
|
-
}
|
|
36
|
-
updateContent() {
|
|
37
|
-
if (this.content && typeof this.content !== 'string') {
|
|
38
|
-
this.container.clear();
|
|
39
|
-
const componentRef = this.container.createComponent(this.content);
|
|
40
|
-
componentRef.changeDetectorRef.detectChanges();
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
this.content$ = this.getContentSource();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
getContentSource() {
|
|
47
|
-
return this.route.data.pipe(map((data) => this.content ?? data['_analogContent']), filter((content) => typeof content === 'string'), mergeMap((contentString) => this.renderContent(contentString)), map((content) => this.sanitizer.bypassSecurityTrustHtml(content)), catchError((e) => of(`There was an error ${e}`)));
|
|
48
|
-
}
|
|
49
|
-
async renderContent(content) {
|
|
50
|
-
return this.contentRenderer.render(content);
|
|
51
|
-
}
|
|
52
|
-
ngAfterViewChecked() {
|
|
53
|
-
this.contentRenderer.enhance();
|
|
54
|
-
this.zone.runOutsideAngular(() => this.mermaid?.default.run());
|
|
55
|
-
}
|
|
56
|
-
loadMermaid(mermaidImport) {
|
|
57
|
-
this.zone.runOutsideAngular(() =>
|
|
58
|
-
// Wrap into an observable to avoid redundant initialization once
|
|
59
|
-
// the markdown component is destroyed before the promise is resolved.
|
|
60
|
-
from(mermaidImport)
|
|
61
|
-
.pipe(takeUntilDestroyed())
|
|
62
|
-
.subscribe((mermaid) => {
|
|
63
|
-
this.mermaid = mermaid;
|
|
64
|
-
this.mermaid.default.initialize({ startOnLoad: false });
|
|
65
|
-
// Explicitly running mermaid as ngAfterViewChecked
|
|
66
|
-
// has probably already been called
|
|
67
|
-
this.mermaid?.default.run();
|
|
68
|
-
}));
|
|
69
|
-
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AnalogMarkdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: AnalogMarkdownComponent, isStandalone: true, selector: "analog-markdown", inputs: { content: "content", classes: "classes" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.AnchorNavigationDirective }], ngImport: i0, template: `<div
|
|
72
|
-
#container
|
|
73
|
-
[innerHTML]="content$ | async"
|
|
74
|
-
[class]="classes"
|
|
75
|
-
></div>`, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true }); }
|
|
76
|
-
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AnalogMarkdownComponent, decorators: [{
|
|
78
|
-
type: Component,
|
|
79
|
-
args: [{
|
|
80
|
-
selector: 'analog-markdown',
|
|
81
|
-
standalone: true,
|
|
82
|
-
imports: [AsyncPipe],
|
|
83
|
-
hostDirectives: [AnchorNavigationDirective],
|
|
84
|
-
preserveWhitespaces: true,
|
|
85
|
-
encapsulation: ViewEncapsulation.None,
|
|
86
|
-
template: `<div
|
|
87
|
-
#container
|
|
88
|
-
[innerHTML]="content$ | async"
|
|
89
|
-
[class]="classes"
|
|
90
|
-
></div>`,
|
|
91
|
-
}]
|
|
92
|
-
}], ctorParameters: () => [], propDecorators: { content: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], classes: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], container: [{
|
|
97
|
-
type: ViewChild,
|
|
98
|
-
args: ['container', { static: true, read: ViewContainerRef }]
|
|
99
|
-
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUdOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQWMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFlekQsTUFBTSxDQUFDLE9BQU8sT0FBTyx1QkFBdUI7SUFzQjFDO1FBbkJRLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvQixTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2IsZUFBVSxHQUFHLE1B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Q0FBQyxVQUFVLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN4RCxtREFBbUQ7WUFDbkQsbUNBQW1DO1lBQ25DLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDSixDQUFDOzhHQWhGa0IsdUJBQXVCO2tHQUF2Qix1QkFBdUIsa05BaUJJLGdCQUFnQiwrSEF2QnBEOzs7O1VBSUYsdURBUkUsU0FBUzs7MkZBVUEsdUJBQXVCO2tCQWIzQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQ3BCLGNBQWMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUMzQyxtQkFBbUIsRUFBRSxJQUFJO29CQUN6QixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsUUFBUSxFQUFFOzs7O1VBSUY7aUJBQ1Q7d0RBZVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHTixTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFBMQVRGT1JNX0lELFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIERhdGEgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbWVyZ2VNYXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQW5jaG9yTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYW5jaG9yLW5hdmlnYXRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRlbnRSZW5kZXJlciB9IGZyb20gJy4vY29udGVudC1yZW5kZXJlcic7XG5pbXBvcnQgeyBNRVJNQUlEX0lNUE9SVF9UT0tFTiB9IGZyb20gJy4vcHJvdmlkZS1jb250ZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5hbG9nLW1hcmtkb3duJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FzeW5jUGlwZV0sXG4gIGhvc3REaXJlY3RpdmVzOiBbQW5jaG9yTmF2aWdhdGlvbkRpcmVjdGl2ZV0sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IHRydWUsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgPGRpdlxuICAgICNjb250YWluZXJcbiAgICBbaW5uZXJIVE1MXT1cImNvbnRlbnQkIHwgYXN5bmNcIlxuICAgIFtjbGFzc109XCJjbGFzc2VzXCJcbiAgPjwvZGl2PmAsXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQW5hbG9nTWFya2Rvd25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICBwcml2YXRlIHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWVybWFpZEltcG9ydCA9IGluamVjdChNRVJNQUlEX0lNUE9SVF9UT0tFTiwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcbiAgcHJpdmF0ZSBtZXJtYWlkOiB0eXBlb2YgaW1wb3J0KCdtZXJtYWlkJykgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGNvbnRlbnQkOiBPYnNlcnZhYmxlPFNhZmVIdG1sPiA9IHRoaXMuZ2V0Q29udGVudFNvdXJjZSgpO1xuXG4gIEBJbnB1dCgpIGNvbnRlbnQhOiBzdHJpbmcgfCBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsO1xuICBASW5wdXQoKSBjbGFzc2VzID0gJ2FuYWxvZy1tYXJrZG93bic7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcbiAgY29udGFpbmVyITogVmlld0NvbnRhaW5lclJlZjtcblxuICBjb250ZW50UmVuZGVyZXIgPSBpbmplY3QoQ29udGVudFJlbmRlcmVyKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLm1lcm1haWRJbXBvcnQpIHtcbiAgICAgIC8vIE1lcm1haWQgY2FuIG9ubHkgYmUgbG9hZGVkIG9uIGNsaWVudCBzaWRlXG4gICAgICB0aGlzLmxvYWRNZXJtYWlkKHRoaXMubWVybWFpZEltcG9ydCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcbiAgfVxuXG4gIHVwZGF0ZUNvbnRlbnQoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudCAmJiB0eXBlb2YgdGhpcy5jb250ZW50ICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5jb250YWluZXIuY2xlYXIoKTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbnRlbnQgYXMgYW55KTtcbiAgICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udGVudCQgPSB0aGlzLmdldENvbnRlbnRTb3VyY2UoKTtcbiAgICB9XG4gIH1cblxuICBnZXRDb250ZW50U291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnJvdXRlLmRhdGEucGlwZShcbiAgICAgIG1hcDxEYXRhLCBzdHJpbmc+KChkYXRhKSA9PiB0aGlzLmNvbnRlbnQgPz8gZGF0YVsnX2FuYWxvZ0NvbnRlbnQnXSksXG4gICAgICBmaWx0ZXIoKGNvbnRlbnQpID0+IHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJyksXG4gICAgICBtZXJnZU1hcCgoY29udGVudFN0cmluZykgPT4gdGhpcy5yZW5kZXJDb250ZW50KGNvbnRlbnRTdHJpbmcpKSxcbiAgICAgIG1hcCgoY29udGVudCkgPT4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoY29udGVudCkpLFxuICAgICAgY2F0Y2hFcnJvcigoZSkgPT4gb2YoYFRoZXJlIHdhcyBhbiBlcnJvciAke2V9YCkpXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHJlbmRlckNvbnRlbnQoY29udGVudDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50UmVuZGVyZXIucmVuZGVyKGNvbnRlbnQpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMuY29udGVudFJlbmRlcmVyLmVuaGFuY2UoKTtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGhpcy5tZXJtYWlkPy5kZWZhdWx0LnJ1bigpKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE1lcm1haWQobWVybWFpZEltcG9ydDogUHJvbWlzZTx0eXBlb2YgaW1wb3J0KCdtZXJtYWlkJyk+KSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAvLyBXcmFwIGludG8gYW4gb2JzZXJ2YWJsZSB0byBhdm9pZCByZWR1bmRhbnQgaW5pdGlhbGl6YXRpb24gb25jZVxuICAgICAgLy8gdGhlIG1hcmtkb3duIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQgYmVmb3JlIHRoZSBwcm9taXNlIGlzIHJlc29sdmVkLlxuICAgICAgZnJvbShtZXJtYWlkSW1wb3J0KVxuICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgobWVybWFpZCkgPT4ge1xuICAgICAgICAgIHRoaXMubWVybWFpZCA9IG1lcm1haWQ7XG4gICAgICAgICAgdGhpcy5tZXJtYWlkLmRlZmF1bHQuaW5pdGlhbGl6ZSh7IHN0YXJ0T25Mb2FkOiBmYWxzZSB9KTtcbiAgICAgICAgICAvLyBFeHBsaWNpdGx5IHJ1bm5pbmcgbWVybWFpZCBhcyBuZ0FmdGVyVmlld0NoZWNrZWRcbiAgICAgICAgICAvLyBoYXMgcHJvYmFibHkgYWxyZWFkeSBiZWVuIGNhbGxlZFxuICAgICAgICAgIHRoaXMubWVybWFpZD8uZGVmYXVsdC5ydW4oKTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Injectable, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class MarkedContentHighlighter {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedContentHighlighter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedContentHighlighter }); }
|
|
6
|
-
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedContentHighlighter, decorators: [{
|
|
8
|
-
type: Injectable
|
|
9
|
-
}] });
|
|
10
|
-
export function withHighlighter(provider) {
|
|
11
|
-
return { provide: MarkedContentHighlighter, ...provider };
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VkLWNvbnRlbnQtaGlnaGxpZ2h0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9saWIvbWFya2VkLWNvbnRlbnQtaGlnaGxpZ2h0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsR0FJWCxNQUFNLGVBQWUsQ0FBQzs7QUFPdkIsTUFBTSxPQUFnQix3QkFBd0I7OEdBQXhCLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUQ3QyxVQUFVOztBQUtYLE1BQU0sVUFBVSxlQUFlLENBQzdCLFFBUW1DO0lBRW5DLE9BQU8sRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyxRQUFRLEVBQWMsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RUeXBlLFxuICBJbmplY3RhYmxlLFxuICBQcm92aWRlcixcbiAgUHJvdmlkZXJUb2tlbixcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFya2VkQ29udGVudEhpZ2hsaWdodGVyIHtcbiAgYXVnbWVudENvZGVCbG9jaz8oY29kZTogc3RyaW5nLCBsYW5nOiBzdHJpbmcpOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNYXJrZWRDb250ZW50SGlnaGxpZ2h0ZXIge1xuICBhYnN0cmFjdCBnZXRIaWdobGlnaHRFeHRlbnNpb24oKTogaW1wb3J0KCdtYXJrZWQnKS5tYXJrZWQuTWFya2VkRXh0ZW5zaW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aEhpZ2hsaWdodGVyKFxuICBwcm92aWRlcjogKFxuICAgIHwgeyB1c2VWYWx1ZTogTWFya2VkQ29udGVudEhpZ2hsaWdodGVyIH1cbiAgICB8IHtcbiAgICAgICAgdXNlQ2xhc3M6XG4gICAgICAgICAgfCBUeXBlPE1hcmtlZENvbnRlbnRIaWdobGlnaHRlcj5cbiAgICAgICAgICB8IEFic3RyYWN0VHlwZTxNYXJrZWRDb250ZW50SGlnaGxpZ2h0ZXI+O1xuICAgICAgfVxuICAgIHwgeyB1c2VGYWN0b3J5OiAoLi4uZGVwczogYW55W10pID0+IE1hcmtlZENvbnRlbnRIaWdobGlnaHRlciB9XG4gICkgJiB7IGRlcHM/OiBQcm92aWRlclRva2VuPGFueT5bXSB9XG4pOiBQcm92aWRlciB7XG4gIHJldHVybiB7IHByb3ZpZGU6IE1hcmtlZENvbnRlbnRIaWdobGlnaHRlciwgLi4ucHJvdmlkZXIgfSBhcyBQcm92aWRlcjtcbn1cbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Credit goes to Scully for original implementation
|
|
3
|
-
* https://github.com/scullyio/scully/blob/main/libs/scully/src/lib/fileHanderPlugins/markdown.ts
|
|
4
|
-
*/
|
|
5
|
-
import { inject, Injectable } from '@angular/core';
|
|
6
|
-
import { marked } from 'marked';
|
|
7
|
-
import { gfmHeadingId } from 'marked-gfm-heading-id';
|
|
8
|
-
import { mangle } from 'marked-mangle';
|
|
9
|
-
import { MarkedContentHighlighter } from './marked-content-highlighter';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class MarkedSetupService {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.highlighter = inject(MarkedContentHighlighter, {
|
|
14
|
-
optional: true,
|
|
15
|
-
});
|
|
16
|
-
const renderer = new marked.Renderer();
|
|
17
|
-
renderer.code = (code, lang) => {
|
|
18
|
-
// Let's do a language based detection like on GitHub
|
|
19
|
-
// So we can still have non-interpreted mermaid code
|
|
20
|
-
if (lang === 'mermaid') {
|
|
21
|
-
return '<pre class="mermaid">' + code + '</pre>';
|
|
22
|
-
}
|
|
23
|
-
if (!lang) {
|
|
24
|
-
return '<pre><code>' + code + '</code></pre>';
|
|
25
|
-
}
|
|
26
|
-
if (this.highlighter?.augmentCodeBlock) {
|
|
27
|
-
return this.highlighter?.augmentCodeBlock(code, lang);
|
|
28
|
-
}
|
|
29
|
-
return `<pre class="language-${lang}"><code class="language-${lang}">${code}</code></pre>`;
|
|
30
|
-
};
|
|
31
|
-
const extensions = [gfmHeadingId(), mangle()];
|
|
32
|
-
if (this.highlighter) {
|
|
33
|
-
extensions.push(this.highlighter.getHighlightExtension());
|
|
34
|
-
}
|
|
35
|
-
marked.use(...extensions, {
|
|
36
|
-
renderer,
|
|
37
|
-
pedantic: false,
|
|
38
|
-
gfm: true,
|
|
39
|
-
breaks: false,
|
|
40
|
-
mangle: false,
|
|
41
|
-
});
|
|
42
|
-
this.marked = marked;
|
|
43
|
-
}
|
|
44
|
-
getMarkedInstance() {
|
|
45
|
-
return this.marked;
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedSetupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedSetupService }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedSetupService, decorators: [{
|
|
51
|
-
type: Injectable
|
|
52
|
-
}], ctorParameters: () => [] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VkLXNldHVwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9saWIvbWFya2VkLXNldHVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFHeEUsTUFBTSxPQUFPLGtCQUFrQjtJQU03QjtRQUppQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRTtZQUM5RCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUdELE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLEVBQUU7WUFDN0MscURBQXFEO1lBQ3JELG9EQUFvRDtZQUNwRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO1lBQ25ELENBQUM7WUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxhQUFhLEdBQUcsSUFBSSxHQUFHLGVBQWUsQ0FBQztZQUNoRCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3ZDLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUVELE9BQU8sd0JBQXdCLElBQUksMkJBQTJCLElBQUksS0FBSyxJQUFJLGVBQWUsQ0FBQztRQUM3RixDQUFDLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFOUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsRUFBRTtZQUN4QixRQUFRO1lBQ1IsUUFBUSxFQUFFLEtBQUs7WUFDZixHQUFHLEVBQUUsSUFBSTtZQUNULE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7OEdBN0NVLGtCQUFrQjtrSEFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVkaXQgZ29lcyB0byBTY3VsbHkgZm9yIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc2N1bGx5aW8vc2N1bGx5L2Jsb2IvbWFpbi9saWJzL3NjdWxseS9zcmMvbGliL2ZpbGVIYW5kZXJQbHVnaW5zL21hcmtkb3duLnRzXG4gKi9cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcbmltcG9ydCB7IGdmbUhlYWRpbmdJZCB9IGZyb20gJ21hcmtlZC1nZm0taGVhZGluZy1pZCc7XG5pbXBvcnQgeyBtYW5nbGUgfSBmcm9tICdtYXJrZWQtbWFuZ2xlJztcbmltcG9ydCB7IE1hcmtlZENvbnRlbnRIaWdobGlnaHRlciB9IGZyb20gJy4vbWFya2VkLWNvbnRlbnQtaGlnaGxpZ2h0ZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFya2VkU2V0dXBTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBtYXJrZWQ6IHR5cGVvZiBtYXJrZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGlnaGxpZ2h0ZXIgPSBpbmplY3QoTWFya2VkQ29udGVudEhpZ2hsaWdodGVyLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IHJlbmRlcmVyID0gbmV3IG1hcmtlZC5SZW5kZXJlcigpO1xuICAgIHJlbmRlcmVyLmNvZGUgPSAoY29kZTogc3RyaW5nLCBsYW5nOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIExldCdzIGRvIGEgbGFuZ3VhZ2UgYmFzZWQgZGV0ZWN0aW9uIGxpa2Ugb24gR2l0SHViXG4gICAgICAvLyBTbyB3ZSBjYW4gc3RpbGwgaGF2ZSBub24taW50ZXJwcmV0ZWQgbWVybWFpZCBjb2RlXG4gICAgICBpZiAobGFuZyA9PT0gJ21lcm1haWQnKSB7XG4gICAgICAgIHJldHVybiAnPHByZSBjbGFzcz1cIm1lcm1haWRcIj4nICsgY29kZSArICc8L3ByZT4nO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWxhbmcpIHtcbiAgICAgICAgcmV0dXJuICc8cHJlPjxjb2RlPicgKyBjb2RlICsgJzwvY29kZT48L3ByZT4nO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5oaWdobGlnaHRlcj8uYXVnbWVudENvZGVCbG9jaykge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWdobGlnaHRlcj8uYXVnbWVudENvZGVCbG9jayhjb2RlLCBsYW5nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGA8cHJlIGNsYXNzPVwibGFuZ3VhZ2UtJHtsYW5nfVwiPjxjb2RlIGNsYXNzPVwibGFuZ3VhZ2UtJHtsYW5nfVwiPiR7Y29kZX08L2NvZGU+PC9wcmU+YDtcbiAgICB9O1xuXG4gICAgY29uc3QgZXh0ZW5zaW9ucyA9IFtnZm1IZWFkaW5nSWQoKSwgbWFuZ2xlKCldO1xuXG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0ZXIpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaCh0aGlzLmhpZ2hsaWdodGVyLmdldEhpZ2hsaWdodEV4dGVuc2lvbigpKTtcbiAgICB9XG5cbiAgICBtYXJrZWQudXNlKC4uLmV4dGVuc2lvbnMsIHtcbiAgICAgIHJlbmRlcmVyLFxuICAgICAgcGVkYW50aWM6IGZhbHNlLFxuICAgICAgZ2ZtOiB0cnVlLFxuICAgICAgYnJlYWtzOiBmYWxzZSxcbiAgICAgIG1hbmdsZTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICB0aGlzLm1hcmtlZCA9IG1hcmtlZDtcbiAgfVxuXG4gIGdldE1hcmtlZEluc3RhbmNlKCk6IHR5cGVvZiBtYXJrZWQge1xuICAgIHJldHVybiB0aGlzLm1hcmtlZDtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import fm from 'front-matter';
|
|
2
|
-
export function parseRawContentFile(rawContentFile) {
|
|
3
|
-
const { body, attributes } = fm(rawContentFile);
|
|
4
|
-
return { content: body, attributes };
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtcmF3LWNvbnRlbnQtZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9wYXJzZS1yYXctY29udGVudC1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QixNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLGNBQXNCO0lBRXRCLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFhLGNBQWMsQ0FBQyxDQUFDO0lBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZm0gZnJvbSAnZnJvbnQtbWF0dGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUmF3Q29udGVudEZpbGU8QXR0cmlidXRlcyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICByYXdDb250ZW50RmlsZTogc3RyaW5nXG4pOiB7IGNvbnRlbnQ6IHN0cmluZzsgYXR0cmlidXRlczogQXR0cmlidXRlcyB9IHtcbiAgY29uc3QgeyBib2R5LCBhdHRyaWJ1dGVzIH0gPSBmbTxBdHRyaWJ1dGVzPihyYXdDb250ZW50RmlsZSk7XG4gIHJldHVybiB7IGNvbnRlbnQ6IGJvZHksIGF0dHJpYnV0ZXMgfTtcbn1cbiJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { ContentRenderer, NoopContentRenderer } from './content-renderer';
|
|
3
|
-
import { RenderTaskService } from './render-task.service';
|
|
4
|
-
const CONTENT_RENDERER_PROVIDERS = [
|
|
5
|
-
{
|
|
6
|
-
provide: ContentRenderer,
|
|
7
|
-
useClass: NoopContentRenderer,
|
|
8
|
-
},
|
|
9
|
-
];
|
|
10
|
-
export function withMarkdownRenderer(options) {
|
|
11
|
-
return [
|
|
12
|
-
CONTENT_RENDERER_PROVIDERS,
|
|
13
|
-
options?.loadMermaid
|
|
14
|
-
? [
|
|
15
|
-
{
|
|
16
|
-
provide: MERMAID_IMPORT_TOKEN,
|
|
17
|
-
useFactory: options.loadMermaid,
|
|
18
|
-
},
|
|
19
|
-
]
|
|
20
|
-
: [],
|
|
21
|
-
];
|
|
22
|
-
}
|
|
23
|
-
export function provideContent(...features) {
|
|
24
|
-
return [
|
|
25
|
-
{ provide: RenderTaskService, useClass: RenderTaskService },
|
|
26
|
-
...features,
|
|
27
|
-
];
|
|
28
|
-
}
|
|
29
|
-
export const MERMAID_IMPORT_TOKEN = new InjectionToken('mermaid_import');
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL3Byb3ZpZGUtY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU0xRCxNQUFNLDBCQUEwQixHQUFlO0lBQzdDO1FBQ0UsT0FBTyxFQUFFLGVBQWU7UUFDeEIsUUFBUSxFQUFFLG1CQUFtQjtLQUM5QjtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLE9BQWlDO0lBRWpDLE9BQU87UUFDTCwwQkFBMEI7UUFDMUIsT0FBTyxFQUFFLFdBQVc7WUFDbEIsQ0FBQyxDQUFDO2dCQUNFO29CQUNFLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFVBQVUsRUFBRSxPQUFPLENBQUMsV0FBVztpQkFDaEM7YUFDRjtZQUNILENBQUMsQ0FBQyxFQUFFO0tBQ1AsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQUcsUUFBb0I7SUFDcEQsT0FBTztRQUNMLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRTtRQUMzRCxHQUFHLFFBQVE7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUVwRCxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50UmVuZGVyZXIsIE5vb3BDb250ZW50UmVuZGVyZXIgfSBmcm9tICcuL2NvbnRlbnQtcmVuZGVyZXInO1xuaW1wb3J0IHsgUmVuZGVyVGFza1NlcnZpY2UgfSBmcm9tICcuL3JlbmRlci10YXNrLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hcmtkb3duUmVuZGVyZXJPcHRpb25zIHtcbiAgbG9hZE1lcm1haWQ/OiAoKSA9PiBQcm9taXNlPHR5cGVvZiBpbXBvcnQoJ21lcm1haWQnKT47XG59XG5cbmNvbnN0IENPTlRFTlRfUkVOREVSRVJfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICB7XG4gICAgcHJvdmlkZTogQ29udGVudFJlbmRlcmVyLFxuICAgIHVzZUNsYXNzOiBOb29wQ29udGVudFJlbmRlcmVyLFxuICB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhNYXJrZG93blJlbmRlcmVyKFxuICBvcHRpb25zPzogTWFya2Rvd25SZW5kZXJlck9wdGlvbnNcbik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIFtcbiAgICBDT05URU5UX1JFTkRFUkVSX1BST1ZJREVSUyxcbiAgICBvcHRpb25zPy5sb2FkTWVybWFpZFxuICAgICAgPyBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTUVSTUFJRF9JTVBPUlRfVE9LRU4sXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBvcHRpb25zLmxvYWRNZXJtYWlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIDogW10sXG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ29udGVudCguLi5mZWF0dXJlczogUHJvdmlkZXJbXSkge1xuICByZXR1cm4gW1xuICAgIHsgcHJvdmlkZTogUmVuZGVyVGFza1NlcnZpY2UsIHVzZUNsYXNzOiBSZW5kZXJUYXNrU2VydmljZSB9LFxuICAgIC4uLmZlYXR1cmVzLFxuICBdO1xufVxuXG5leHBvcnQgY29uc3QgTUVSTUFJRF9JTVBPUlRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIFByb21pc2U8dHlwZW9mIGltcG9ydCgnbWVybWFpZCcpPlxuPignbWVybWFpZF9pbXBvcnQnKTtcbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject, ɵPendingTasks as PendingTasks, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class RenderTaskService {
|
|
4
|
-
#pendingTasks = inject(PendingTasks);
|
|
5
|
-
addRenderTask() {
|
|
6
|
-
return this.#pendingTasks.add();
|
|
7
|
-
}
|
|
8
|
-
clearRenderTask(id) {
|
|
9
|
-
this.#pendingTasks.remove(id);
|
|
10
|
-
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RenderTaskService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RenderTaskService }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RenderTaskService, decorators: [{
|
|
15
|
-
type: Injectable
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXRhc2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9yZW5kZXItdGFzay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGFBQWEsSUFBSSxZQUFZLEdBQzlCLE1BQU0sZUFBZSxDQUFDOztBQUd2QixNQUFNLE9BQU8saUJBQWlCO0lBQzVCLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFckMsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQVU7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0FUVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIGluamVjdCxcbiAgybVQZW5kaW5nVGFza3MgYXMgUGVuZGluZ1Rhc2tzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlbmRlclRhc2tTZXJ2aWNlIHtcbiAgI3BlbmRpbmdUYXNrcyA9IGluamVjdChQZW5kaW5nVGFza3MpO1xuXG4gIGFkZFJlbmRlclRhc2soKSB7XG4gICAgcmV0dXJuIHRoaXMuI3BlbmRpbmdUYXNrcy5hZGQoKTtcbiAgfVxuXG4gIGNsZWFyUmVuZGVyVGFzayhpZDogbnVtYmVyKSB7XG4gICAgdGhpcy4jcGVuZGluZ1Rhc2tzLnJlbW92ZShpZCk7XG4gIH1cbn1cbiJdfQ==
|