@analogjs/content 0.2.0-beta.9 → 0.2.0-rc.1
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/esm2022/index.mjs +5 -5
- package/esm2022/lib/anchor-navigation.directive.mjs +3 -3
- package/esm2022/lib/content-files-list-token.mjs +3 -2
- package/esm2022/lib/content-files-token.mjs +20 -3
- package/esm2022/lib/content-renderer.mjs +3 -3
- package/esm2022/lib/content.mjs +3 -3
- package/esm2022/lib/markdown-content-renderer.service.mjs +27 -66
- package/esm2022/lib/markdown-route.component.mjs +38 -0
- package/esm2022/lib/markdown.component.mjs +35 -9
- package/esm2022/lib/marked-setup.service.mjs +81 -0
- package/fesm2022/analogjs-content.mjs +251 -142
- package/fesm2022/analogjs-content.mjs.map +1 -1
- package/index.d.ts +4 -4
- package/lib/anchor-navigation.directive.d.ts +1 -1
- package/lib/markdown-content-renderer.service.d.ts +7 -15
- package/lib/markdown-route.component.d.ts +15 -0
- package/lib/markdown.component.d.ts +8 -2
- package/lib/marked-setup.service.d.ts +18 -0
- package/migrations/migration.json +33 -0
- package/package.json +5 -2
package/esm2022/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
export { AnchorNavigationDirective } from './lib/anchor-navigation.directive';
|
|
1
2
|
export { injectContent } from './lib/content';
|
|
2
|
-
export { injectContentFiles } from './lib/inject-content-files';
|
|
3
3
|
export { ContentRenderer } from './lib/content-renderer';
|
|
4
|
+
export { injectContentFiles } from './lib/inject-content-files';
|
|
5
|
+
export { MarkdownContentRendererService, provideContent, withMarkdownRenderer, } from './lib/markdown-content-renderer.service';
|
|
6
|
+
export { default as MarkdownRouteComponent } from './lib/markdown-route.component';
|
|
4
7
|
export { default as MarkdownComponent } from './lib/markdown.component';
|
|
5
|
-
export { MarkdownContentRendererService } from './lib/markdown-content-renderer.service';
|
|
6
|
-
export { provideContent, withMarkdownRenderer, } from './lib/markdown-content-renderer.service';
|
|
7
8
|
export { parseRawContentFile } from './lib/parse-raw-content-file';
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxJQUFJLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekYsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsR0FDckIsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGluamVjdENvbnRlbnQgfSBmcm9tICcuL2xpYi9jb250ZW50JztcbmV4cG9ydCB7IGluamVjdENvbnRlbnRGaWxlcyB9IGZyb20gJy4vbGliL2luamVjdC1jb250ZW50LWZpbGVzJztcbmV4cG9ydCB7IENvbnRlbnRGaWxlIH0gZnJvbSAnLi9saWIvY29udGVudC1maWxlJztcbmV4cG9ydCB7IENvbnRlbnRSZW5kZXJlciB9IGZyb20gJy4vbGliL2NvbnRlbnQtcmVuZGVyZXInO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93bkNvbXBvbmVudCB9IGZyb20gJy4vbGliL21hcmtkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgeyBNYXJrZG93bkNvbnRlbnRSZW5kZXJlclNlcnZpY2UgfSBmcm9tICcuL2xpYi9tYXJrZG93bi1jb250ZW50LXJlbmRlcmVyLnNlcnZpY2UnO1xuZXhwb3J0IHtcbiAgcHJvdmlkZUNvbnRlbnQsXG4gIHdpdGhNYXJrZG93blJlbmRlcmVyLFxufSBmcm9tICcuL2xpYi9tYXJrZG93bi1jb250ZW50LXJlbmRlcmVyLnNlcnZpY2UnO1xuZXhwb3J0IHsgcGFyc2VSYXdDb250ZW50RmlsZSB9IGZyb20gJy4vbGliL3BhcnNlLXJhdy1jb250ZW50LWZpbGUnO1xuZXhwb3J0IHsgQW5jaG9yTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2FuY2hvci1uYXZpZ2F0aW9uLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLGNBQWMsRUFDZCxvQkFBb0IsR0FDckIsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxJQUFJLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkYsT0FBTyxFQUFFLE9BQU8sSUFBSSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQW5jaG9yTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2FuY2hvci1uYXZpZ2F0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBpbmplY3RDb250ZW50IH0gZnJvbSAnLi9saWIvY29udGVudCc7XG5leHBvcnQgeyBDb250ZW50RmlsZSB9IGZyb20gJy4vbGliL2NvbnRlbnQtZmlsZSc7XG5leHBvcnQgeyBDb250ZW50UmVuZGVyZXIgfSBmcm9tICcuL2xpYi9jb250ZW50LXJlbmRlcmVyJztcbmV4cG9ydCB7IGluamVjdENvbnRlbnRGaWxlcyB9IGZyb20gJy4vbGliL2luamVjdC1jb250ZW50LWZpbGVzJztcbmV4cG9ydCB7XG4gIE1hcmtkb3duQ29udGVudFJlbmRlcmVyU2VydmljZSxcbiAgcHJvdmlkZUNvbnRlbnQsXG4gIHdpdGhNYXJrZG93blJlbmRlcmVyLFxufSBmcm9tICcuL2xpYi9tYXJrZG93bi1jb250ZW50LXJlbmRlcmVyLnNlcnZpY2UnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBNYXJrZG93blJvdXRlQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvbWFya2Rvd24tcm91dGUuY29tcG9uZW50JztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTWFya2Rvd25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9tYXJrZG93bi5jb21wb25lbnQnO1xuZXhwb3J0IHsgcGFyc2VSYXdDb250ZW50RmlsZSB9IGZyb20gJy4vbGliL3BhcnNlLXJhdy1jb250ZW50LWZpbGUnO1xuIl19
|
|
@@ -20,11 +20,11 @@ class AnchorNavigationDirective {
|
|
|
20
20
|
}
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
24
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: AnchorNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
24
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: AnchorNavigationDirective, isStandalone: true, selector: "[analogAnchorNavigation]", host: { listeners: { "click": "handleNavigation($event.target)" } }, ngImport: i0 }); }
|
|
25
25
|
}
|
|
26
26
|
export { AnchorNavigationDirective };
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: AnchorNavigationDirective, decorators: [{
|
|
28
28
|
type: Directive,
|
|
29
29
|
args: [{
|
|
30
30
|
selector: '[analogAnchorNavigation]',
|
|
@@ -10,12 +10,13 @@ export const CONTENT_FILES_LIST_TOKEN = new InjectionToken('@analogjs/content Co
|
|
|
10
10
|
const contentFiles = getContentFilesList();
|
|
11
11
|
return Object.keys(contentFiles).map((filename) => {
|
|
12
12
|
const attributes = contentFiles[filename];
|
|
13
|
+
const slug = attributes['slug'];
|
|
13
14
|
return {
|
|
14
15
|
filename,
|
|
15
16
|
attributes,
|
|
16
|
-
slug: encodeURI(getSlug(filename)),
|
|
17
|
+
slug: slug ? encodeURI(slug) : encodeURI(getSlug(filename)),
|
|
17
18
|
};
|
|
18
19
|
});
|
|
19
20
|
},
|
|
20
21
|
});
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1maWxlcy1saXN0LXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL2NvbnRlbnQtZmlsZXMtbGlzdC10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELFNBQVMsT0FBTyxDQUFDLFFBQWdCO0lBQy9CLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNoRSxPQUFPLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDeEQsc0NBQXNDLEVBQ3RDO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTztRQUNMLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixFQUFFLENBQUM7UUFFM0MsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2hELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFaEMsT0FBTztnQkFDTCxRQUFRO2dCQUNSLFVBQVU7Z0JBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzVELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudEZpbGUgfSBmcm9tICcuL2NvbnRlbnQtZmlsZSc7XG5pbXBvcnQgeyBnZXRDb250ZW50RmlsZXNMaXN0IH0gZnJvbSAnLi9nZXQtY29udGVudC1maWxlcyc7XG5cbmZ1bmN0aW9uIGdldFNsdWcoZmlsZW5hbWU6IHN0cmluZykge1xuICBjb25zdCBwYXJ0cyA9IGZpbGVuYW1lLm1hdGNoKC9eKFxcXFx8XFwvKSguKyhcXFxcfFxcLykpKiguKylcXC4oLispJC8pO1xuICByZXR1cm4gcGFydHM/Lmxlbmd0aCA/IHBhcnRzWzRdIDogJyc7XG59XG5cbmV4cG9ydCBjb25zdCBDT05URU5UX0ZJTEVTX0xJU1RfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29udGVudEZpbGVbXT4oXG4gICdAYW5hbG9nanMvY29udGVudCBDb250ZW50IEZpbGVzIExpc3QnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3RvcnkoKSB7XG4gICAgICBjb25zdCBjb250ZW50RmlsZXMgPSBnZXRDb250ZW50RmlsZXNMaXN0KCk7XG5cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhjb250ZW50RmlsZXMpLm1hcCgoZmlsZW5hbWUpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IGNvbnRlbnRGaWxlc1tmaWxlbmFtZV07XG4gICAgICAgIGNvbnN0IHNsdWcgPSBhdHRyaWJ1dGVzWydzbHVnJ107XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICBhdHRyaWJ1dGVzLFxuICAgICAgICAgIHNsdWc6IHNsdWcgPyBlbmNvZGVVUkkoc2x1ZykgOiBlbmNvZGVVUkkoZ2V0U2x1ZyhmaWxlbmFtZSkpLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSxcbiAgfVxuKTtcbiJdfQ==
|
|
@@ -1,10 +1,27 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
1
|
+
import { InjectionToken, inject } from '@angular/core';
|
|
2
2
|
import { getContentFiles } from './get-content-files';
|
|
3
|
+
import { CONTENT_FILES_LIST_TOKEN } from './content-files-list-token';
|
|
3
4
|
export const CONTENT_FILES_TOKEN = new InjectionToken('@analogjs/content Content Files', {
|
|
4
5
|
providedIn: 'root',
|
|
5
6
|
factory() {
|
|
6
7
|
const contentFiles = getContentFiles();
|
|
7
|
-
|
|
8
|
+
const contentFilesList = inject(CONTENT_FILES_LIST_TOKEN);
|
|
9
|
+
const lookup = {};
|
|
10
|
+
contentFilesList.forEach((item) => {
|
|
11
|
+
const fileParts = item.filename.split('/');
|
|
12
|
+
const filePath = fileParts.slice(0, fileParts.length - 1).join('/');
|
|
13
|
+
lookup[item.filename] = `${filePath}/${item.slug}.md`;
|
|
14
|
+
});
|
|
15
|
+
const objectUsingSlugAttribute = {};
|
|
16
|
+
Object.entries(contentFiles).forEach((entry) => {
|
|
17
|
+
const filename = entry[0];
|
|
18
|
+
const value = entry[1];
|
|
19
|
+
const newFilename = lookup[filename];
|
|
20
|
+
if (newFilename !== undefined) {
|
|
21
|
+
objectUsingSlugAttribute[newFilename] = value;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return objectUsingSlugAttribute;
|
|
8
25
|
},
|
|
9
26
|
});
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1maWxlcy10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9jb250ZW50LWZpbGVzLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FFbkQsaUNBQWlDLEVBQUU7SUFDbkMsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTztRQUNMLE1BQU0sWUFBWSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFMUQsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUMxQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sd0JBQXdCLEdBQTBDLEVBQUUsQ0FBQztRQUMzRSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzdDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdkIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JDLElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRTtnQkFDN0Isd0JBQXdCLENBQUMsV0FBVyxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQy9DO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLHdCQUF3QixDQUFDO0lBQ2xDLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldENvbnRlbnRGaWxlcyB9IGZyb20gJy4vZ2V0LWNvbnRlbnQtZmlsZXMnO1xuaW1wb3J0IHsgQ09OVEVOVF9GSUxFU19MSVNUX1RPS0VOIH0gZnJvbSAnLi9jb250ZW50LWZpbGVzLWxpc3QtdG9rZW4nO1xuXG5leHBvcnQgY29uc3QgQ09OVEVOVF9GSUxFU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgUmVjb3JkPHN0cmluZywgKCkgPT4gUHJvbWlzZTxzdHJpbmc+PlxuPignQGFuYWxvZ2pzL2NvbnRlbnQgQ29udGVudCBGaWxlcycsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5KCkge1xuICAgIGNvbnN0IGNvbnRlbnRGaWxlcyA9IGdldENvbnRlbnRGaWxlcygpO1xuICAgIGNvbnN0IGNvbnRlbnRGaWxlc0xpc3QgPSBpbmplY3QoQ09OVEVOVF9GSUxFU19MSVNUX1RPS0VOKTtcblxuICAgIGNvbnN0IGxvb2t1cDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgIGNvbnRlbnRGaWxlc0xpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgZmlsZVBhcnRzID0gaXRlbS5maWxlbmFtZS5zcGxpdCgnLycpO1xuICAgICAgY29uc3QgZmlsZVBhdGggPSBmaWxlUGFydHMuc2xpY2UoMCwgZmlsZVBhcnRzLmxlbmd0aCAtIDEpLmpvaW4oJy8nKTtcbiAgICAgIGxvb2t1cFtpdGVtLmZpbGVuYW1lXSA9IGAke2ZpbGVQYXRofS8ke2l0ZW0uc2x1Z30ubWRgO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgb2JqZWN0VXNpbmdTbHVnQXR0cmlidXRlOiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiBQcm9taXNlPHN0cmluZz4+ID0ge307XG4gICAgT2JqZWN0LmVudHJpZXMoY29udGVudEZpbGVzKS5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgY29uc3QgZmlsZW5hbWUgPSBlbnRyeVswXTtcbiAgICAgIGNvbnN0IHZhbHVlID0gZW50cnlbMV07XG5cbiAgICAgIGNvbnN0IG5ld0ZpbGVuYW1lID0gbG9va3VwW2ZpbGVuYW1lXTtcbiAgICAgIGlmIChuZXdGaWxlbmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG9iamVjdFVzaW5nU2x1Z0F0dHJpYnV0ZVtuZXdGaWxlbmFtZV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBvYmplY3RVc2luZ1NsdWdBdHRyaWJ1dGU7XG4gIH0sXG59KTtcbiJdfQ==
|
|
@@ -6,11 +6,11 @@ class ContentRenderer {
|
|
|
6
6
|
}
|
|
7
7
|
// eslint-disable-next-line
|
|
8
8
|
enhance() { }
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
10
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ContentRenderer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ContentRenderer }); }
|
|
11
11
|
}
|
|
12
12
|
export { ContentRenderer };
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ContentRenderer, decorators: [{
|
|
14
14
|
type: Injectable
|
|
15
15
|
}] });
|
|
16
16
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9jb250ZW50LXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQ3NCLGVBQWU7SUFDbkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFlO1FBQzFCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsT0FBTyxLQUFJLENBQUM7OEdBTlEsZUFBZTtrSEFBZixlQUFlOztTQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRlbnRSZW5kZXJlciB7XG4gIGFzeW5jIHJlbmRlcihjb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGVuaGFuY2UoKSB7fVxufVxuIl19
|
package/esm2022/lib/content.mjs
CHANGED
|
@@ -4,8 +4,8 @@ import { ActivatedRoute } from '@angular/router';
|
|
|
4
4
|
import { of } from 'rxjs';
|
|
5
5
|
import { map, switchMap } from 'rxjs/operators';
|
|
6
6
|
import { CONTENT_FILES_TOKEN } from './content-files-token';
|
|
7
|
-
import { waitFor } from './utils/zone-wait-for';
|
|
8
7
|
import { parseRawContentFile } from './parse-raw-content-file';
|
|
8
|
+
import { waitFor } from './utils/zone-wait-for';
|
|
9
9
|
/**
|
|
10
10
|
* Retrieves the static content using the provided param and/or prefix.
|
|
11
11
|
*
|
|
@@ -23,7 +23,7 @@ export function injectContent(param = 'slug', fallback = 'No Content Found') {
|
|
|
23
23
|
if (!contentFile) {
|
|
24
24
|
return of({
|
|
25
25
|
attributes: {},
|
|
26
|
-
filename,
|
|
26
|
+
filename: filename,
|
|
27
27
|
slug: slug || '',
|
|
28
28
|
content: fallback,
|
|
29
29
|
});
|
|
@@ -51,4 +51,4 @@ export function injectContent(param = 'slug', fallback = 'No Content Found') {
|
|
|
51
51
|
});
|
|
52
52
|
}));
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FHM0IsUUFLUSxNQUFNLEVBQ2QsUUFBUSxHQUFHLGtCQUFrQjtJQUU3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDakQsTUFBTSxNQUFNLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDO0lBRXpFLE1BQU0sUUFBUSxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ2pFLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3hCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUNyQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNqQixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDO1FBQ3BELE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO2dCQUNSLFVBQVUsRUFBRSxFQUFFO2dCQUNkLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxRQUFRO2FBQ2xCLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLE1BQU0sZUFBZSxHQUFHLFdBQVcsRUFBRSxDQUFDO1lBRXRDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRTtnQkFDaEMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUN4QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUN6QixNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUMzQixtQkFBbUIsQ0FBYSxjQUFjLENBQUMsQ0FBQztZQUVsRCxPQUFPO2dCQUNMLFFBQVE7Z0JBQ1IsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO2dCQUNoQixVQUFVO2dCQUNWLE9BQU87YUFDUixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwidml0ZS9jbGllbnRcIiAvPlxuXG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ29udGVudEZpbGUgfSBmcm9tICcuL2NvbnRlbnQtZmlsZSc7XG5pbXBvcnQgeyBDT05URU5UX0ZJTEVTX1RPS0VOIH0gZnJvbSAnLi9jb250ZW50LWZpbGVzLXRva2VuJztcbmltcG9ydCB7IHBhcnNlUmF3Q29udGVudEZpbGUgfSBmcm9tICcuL3BhcnNlLXJhdy1jb250ZW50LWZpbGUnO1xuaW1wb3J0IHsgd2FpdEZvciB9IGZyb20gJy4vdXRpbHMvem9uZS13YWl0LWZvcic7XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBzdGF0aWMgY29udGVudCB1c2luZyB0aGUgcHJvdmlkZWQgcGFyYW0gYW5kL29yIHByZWZpeC5cbiAqXG4gKiBAcGFyYW0gcGFyYW0gcm91dGUgcGFyYW1ldGVyIChkZWZhdWx0OiAnc2x1ZycpXG4gKiBAcGFyYW0gZmFsbGJhY2sgZmFsbGJhY2sgdGV4dCBpZiBjb250ZW50IGZpbGUgaXMgbm90IGZvdW5kIChkZWZhdWx0OiAnTm8gQ29udGVudCBGb3VuZCcpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RDb250ZW50PFxuICBBdHRyaWJ1dGVzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT5cbj4oXG4gIHBhcmFtOlxuICAgIHwgc3RyaW5nXG4gICAgfCB7XG4gICAgICAgIHBhcmFtOiBzdHJpbmc7XG4gICAgICAgIHN1YmRpcmVjdG9yeTogc3RyaW5nO1xuICAgICAgfSA9ICdzbHVnJyxcbiAgZmFsbGJhY2sgPSAnTm8gQ29udGVudCBGb3VuZCdcbik6IE9ic2VydmFibGU8Q29udGVudEZpbGU8QXR0cmlidXRlcyB8IFJlY29yZDxzdHJpbmcsIG5ldmVyPj4+IHtcbiAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBjb25zdCBjb250ZW50RmlsZXMgPSBpbmplY3QoQ09OVEVOVF9GSUxFU19UT0tFTik7XG4gIGNvbnN0IHByZWZpeCA9IHR5cGVvZiBwYXJhbSA9PT0gJ3N0cmluZycgPyAnJyA6IGAke3BhcmFtLnN1YmRpcmVjdG9yeX0vYDtcblxuICBjb25zdCBwYXJhbUtleSA9IHR5cGVvZiBwYXJhbSA9PT0gJ3N0cmluZycgPyBwYXJhbSA6IHBhcmFtLnBhcmFtO1xuICByZXR1cm4gcm91dGUucGFyYW1NYXAucGlwZShcbiAgICBtYXAoKHBhcmFtcykgPT4gcGFyYW1zLmdldChwYXJhbUtleSkpLFxuICAgIHN3aXRjaE1hcCgoc2x1ZykgPT4ge1xuICAgICAgY29uc3QgZmlsZW5hbWUgPSBgL3NyYy9jb250ZW50LyR7cHJlZml4fSR7c2x1Z30ubWRgO1xuICAgICAgY29uc3QgY29udGVudEZpbGUgPSBjb250ZW50RmlsZXNbZmlsZW5hbWVdO1xuXG4gICAgICBpZiAoIWNvbnRlbnRGaWxlKSB7XG4gICAgICAgIHJldHVybiBvZih7XG4gICAgICAgICAgYXR0cmlidXRlczoge30sXG4gICAgICAgICAgZmlsZW5hbWU6IGZpbGVuYW1lLFxuICAgICAgICAgIHNsdWc6IHNsdWcgfHwgJycsXG4gICAgICAgICAgY29udGVudDogZmFsbGJhY2ssXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICBjb25zdCBjb250ZW50UmVzb2x2ZXIgPSBjb250ZW50RmlsZSgpO1xuXG4gICAgICAgIGlmIChpbXBvcnQubWV0YS5lbnYuU1NSID09PSB0cnVlKSB7XG4gICAgICAgICAgd2FpdEZvcihjb250ZW50UmVzb2x2ZXIpLnRoZW4oKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoY29udGVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udGVudFJlc29sdmVyLnRoZW4oKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoY29udGVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pLnRoZW4oKHJhd0NvbnRlbnRGaWxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudCwgYXR0cmlidXRlcyB9ID1cbiAgICAgICAgICBwYXJzZVJhd0NvbnRlbnRGaWxlPEF0dHJpYnV0ZXM+KHJhd0NvbnRlbnRGaWxlKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGZpbGVuYW1lLFxuICAgICAgICAgIHNsdWc6IHNsdWcgfHwgJycsXG4gICAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgICBjb250ZW50LFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSlcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,83 +1,44 @@
|
|
|
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, PLATFORM_ID } from '@angular/core';
|
|
6
|
-
import { marked } from 'marked';
|
|
7
|
-
import 'prismjs';
|
|
8
|
-
import 'prismjs/plugins/toolbar/prism-toolbar';
|
|
9
|
-
import 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard';
|
|
10
|
-
import 'prismjs/components/prism-bash';
|
|
11
|
-
import 'prismjs/components/prism-css';
|
|
12
|
-
import 'prismjs/components/prism-javascript';
|
|
13
|
-
import 'prismjs/components/prism-json';
|
|
14
|
-
import 'prismjs/components/prism-markup';
|
|
15
|
-
import 'prismjs/components/prism-typescript';
|
|
1
|
+
import { inject, Injectable, InjectionToken, PLATFORM_ID, } from '@angular/core';
|
|
16
2
|
import { ContentRenderer } from './content-renderer';
|
|
3
|
+
import { MarkedSetupService } from './marked-setup.service';
|
|
17
4
|
import * as i0 from "@angular/core";
|
|
18
|
-
const renderer = new marked.Renderer();
|
|
19
|
-
// wrap code block the way Prism.js expects it
|
|
20
|
-
renderer.code = function (code, lang) {
|
|
21
|
-
// eslint-disable-next-line
|
|
22
|
-
code = this.options.highlight(code, lang);
|
|
23
|
-
if (!lang) {
|
|
24
|
-
return '<pre><code>' + code + '</code></pre>';
|
|
25
|
-
}
|
|
26
|
-
// e.g. "language-js"
|
|
27
|
-
const langClass = 'language-' + lang;
|
|
28
|
-
return ('<pre class="' +
|
|
29
|
-
langClass +
|
|
30
|
-
'"><code class="' +
|
|
31
|
-
langClass +
|
|
32
|
-
'">' +
|
|
33
|
-
code +
|
|
34
|
-
'</code></pre>');
|
|
35
|
-
};
|
|
36
|
-
// ------------------------------
|
|
37
5
|
class MarkdownContentRendererService {
|
|
38
6
|
constructor() {
|
|
39
7
|
this.platformId = inject(PLATFORM_ID);
|
|
8
|
+
this.#marked = inject(MarkedSetupService, { self: true });
|
|
40
9
|
}
|
|
10
|
+
#marked;
|
|
41
11
|
async render(content) {
|
|
42
|
-
marked.
|
|
43
|
-
renderer,
|
|
44
|
-
highlight: (code, lang) => {
|
|
45
|
-
lang = lang || 'typescript';
|
|
46
|
-
if (!Prism.languages[lang]) {
|
|
47
|
-
console.warn(`Notice:
|
|
48
|
-
---------------------------------------------------------------------------------------
|
|
49
|
-
The requested language '${lang}' is not available with the provided setup.
|
|
50
|
-
To enable, import your main.ts as:
|
|
51
|
-
import 'prismjs/components/prism-${lang}';
|
|
52
|
-
---------------------------------------------------------------------------------------
|
|
53
|
-
`);
|
|
54
|
-
return code;
|
|
55
|
-
}
|
|
56
|
-
return Prism.highlight(code, Prism.languages[lang], lang);
|
|
57
|
-
},
|
|
58
|
-
pedantic: false,
|
|
59
|
-
gfm: true,
|
|
60
|
-
breaks: false,
|
|
61
|
-
sanitize: false,
|
|
62
|
-
smartLists: true,
|
|
63
|
-
smartypants: false,
|
|
64
|
-
xhtml: false,
|
|
65
|
-
});
|
|
66
|
-
return marked(content);
|
|
12
|
+
return this.#marked.getMarkedInstance().parse(content);
|
|
67
13
|
}
|
|
68
14
|
// eslint-disable-next-line
|
|
69
15
|
enhance() { }
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
71
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MarkdownContentRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MarkdownContentRendererService }); }
|
|
72
18
|
}
|
|
73
19
|
export { MarkdownContentRendererService };
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MarkdownContentRendererService, decorators: [{
|
|
75
21
|
type: Injectable
|
|
76
22
|
}] });
|
|
77
|
-
export function withMarkdownRenderer() {
|
|
78
|
-
return
|
|
23
|
+
export function withMarkdownRenderer(options) {
|
|
24
|
+
return [
|
|
25
|
+
{
|
|
26
|
+
provide: ContentRenderer,
|
|
27
|
+
useFactory: () => new MarkdownContentRendererService(),
|
|
28
|
+
deps: [MarkedSetupService],
|
|
29
|
+
},
|
|
30
|
+
options?.loadMermaid
|
|
31
|
+
? [
|
|
32
|
+
{
|
|
33
|
+
provide: MERMAID_IMPORT_TOKEN,
|
|
34
|
+
useFactory: options.loadMermaid,
|
|
35
|
+
},
|
|
36
|
+
]
|
|
37
|
+
: [],
|
|
38
|
+
];
|
|
79
39
|
}
|
|
80
40
|
export function provideContent(...features) {
|
|
81
|
-
return [...features];
|
|
41
|
+
return [...features, MarkedSetupService];
|
|
82
42
|
}
|
|
83
|
-
|
|
43
|
+
export const MERMAID_IMPORT_TOKEN = new InjectionToken('mermaid_import');
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tY29udGVudC1yZW5kZXJlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLWNvbnRlbnQtcmVuZGVyZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixjQUFjLEVBQ2QsV0FBVyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFNUQsTUFDYSw4QkFBOEI7SUFEM0M7UUFFRSxlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pDLFlBQU8sR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQVF0RDtJQVJDLE9BQU8sQ0FBOEM7SUFFckQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFlO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLE9BQU8sS0FBSSxDQUFDOzhHQVRELDhCQUE4QjtrSEFBOUIsOEJBQThCOztTQUE5Qiw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFEMUMsVUFBVTs7QUFpQlgsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxPQUFpQztJQUVqQyxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSw4QkFBOEIsRUFBRTtZQUN0RCxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztTQUMzQjtRQUNELE9BQU8sRUFBRSxXQUFXO1lBQ2xCLENBQUMsQ0FBQztnQkFDRTtvQkFDRSxPQUFPLEVBQUUsb0JBQW9CO29CQUM3QixVQUFVLEVBQUUsT0FBTyxDQUFDLFdBQVc7aUJBQ2hDO2FBQ0Y7WUFDSCxDQUFDLENBQUMsRUFBRTtLQUNQLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFHLFFBQW9CO0lBQ3BELE9BQU8sQ0FBQyxHQUFHLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FFcEQsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIFBMQVRGT1JNX0lELFxuICBQcm92aWRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbnRlbnRSZW5kZXJlciB9IGZyb20gJy4vY29udGVudC1yZW5kZXJlcic7XG5pbXBvcnQgeyBNYXJrZWRTZXR1cFNlcnZpY2UgfSBmcm9tICcuL21hcmtlZC1zZXR1cC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duQ29udGVudFJlbmRlcmVyU2VydmljZSBpbXBsZW1lbnRzIENvbnRlbnRSZW5kZXJlciB7XG4gIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICAjbWFya2VkID0gaW5qZWN0KE1hcmtlZFNldHVwU2VydmljZSwgeyBzZWxmOiB0cnVlIH0pO1xuXG4gIGFzeW5jIHJlbmRlcihjb250ZW50OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy4jbWFya2VkLmdldE1hcmtlZEluc3RhbmNlKCkucGFyc2UoY29udGVudCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgZW5oYW5jZSgpIHt9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFya2Rvd25SZW5kZXJlck9wdGlvbnMge1xuICBsb2FkTWVybWFpZD86ICgpID0+IFByb21pc2U8dHlwZW9mIGltcG9ydCgnbWVybWFpZCcpPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhNYXJrZG93blJlbmRlcmVyKFxuICBvcHRpb25zPzogTWFya2Rvd25SZW5kZXJlck9wdGlvbnNcbik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBDb250ZW50UmVuZGVyZXIsXG4gICAgICB1c2VGYWN0b3J5OiAoKSA9PiBuZXcgTWFya2Rvd25Db250ZW50UmVuZGVyZXJTZXJ2aWNlKCksXG4gICAgICBkZXBzOiBbTWFya2VkU2V0dXBTZXJ2aWNlXSxcbiAgICB9LFxuICAgIG9wdGlvbnM/LmxvYWRNZXJtYWlkXG4gICAgICA/IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBNRVJNQUlEX0lNUE9SVF9UT0tFTixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IG9wdGlvbnMubG9hZE1lcm1haWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgICAgOiBbXSxcbiAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb250ZW50KC4uLmZlYXR1cmVzOiBQcm92aWRlcltdKSB7XG4gIHJldHVybiBbLi4uZmVhdHVyZXMsIE1hcmtlZFNldHVwU2VydmljZV07XG59XG5cbmV4cG9ydCBjb25zdCBNRVJNQUlEX0lNUE9SVF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgUHJvbWlzZTx0eXBlb2YgaW1wb3J0KCdtZXJtYWlkJyk+XG4+KCdtZXJtYWlkX2ltcG9ydCcpO1xuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
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: "16.1.0", ngImport: i0, type: AnalogMarkdownRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", 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
|
+
export default AnalogMarkdownRouteComponent;
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: AnalogMarkdownRouteComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{
|
|
27
|
+
selector: 'analog-markdown-route',
|
|
28
|
+
standalone: true,
|
|
29
|
+
imports: [AsyncPipe],
|
|
30
|
+
hostDirectives: [AnchorNavigationDirective],
|
|
31
|
+
preserveWhitespaces: true,
|
|
32
|
+
encapsulation: ViewEncapsulation.None,
|
|
33
|
+
template: `<div [innerHTML]="content" [class]="classes"></div>`,
|
|
34
|
+
}]
|
|
35
|
+
}], propDecorators: { classes: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcm91dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLXJvdXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUVMLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRTFFLE1BU3FCLDRCQUE0QjtJQVRqRDtRQVVVLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVoQyxZQUFPLEdBQWEsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FDbEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQ2xELENBQUM7UUFFTyxZQUFPLEdBQUcsdUJBQXVCLENBQUM7S0FLNUM7SUFIQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzhHQWJrQiw0QkFBNEI7a0dBQTVCLDRCQUE0QixnTEFGckMscURBQXFEOztlQUU1Qyw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFUaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUNwQixjQUFjLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDM0MsbUJBQW1CLEVBQUUsSUFBSTtvQkFDekIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRSxxREFBcUQ7aUJBQ2hFOzhCQVVVLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQ29udGVudFJlbmRlcmVyIH0gZnJvbSAnLi9jb250ZW50LXJlbmRlcmVyJztcbmltcG9ydCB7IEFuY2hvck5hdmlnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2FuY2hvci1uYXZpZ2F0aW9uLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuYWxvZy1tYXJrZG93bi1yb3V0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBc3luY1BpcGVdLFxuICBob3N0RGlyZWN0aXZlczogW0FuY2hvck5hdmlnYXRpb25EaXJlY3RpdmVdLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiB0cnVlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYDxkaXYgW2lubmVySFRNTF09XCJjb250ZW50XCIgW2NsYXNzXT1cImNsYXNzZXNcIj48L2Rpdj5gLFxufSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFuYWxvZ01hcmtkb3duUm91dGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIGNvbnRlbnRSZW5kZXJlciA9IGluamVjdChDb250ZW50UmVuZGVyZXIpO1xuXG4gIHByb3RlY3RlZCBjb250ZW50OiBTYWZlSHRtbCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFxuICAgIHRoaXMucm91dGUuc25hcHNob3QuZGF0YVsncmVuZGVyZWRBbmFsb2dDb250ZW50J11cbiAgKTtcblxuICBASW5wdXQoKSBjbGFzc2VzID0gJ2FuYWxvZy1tYXJrZG93bi1yb3V0ZSc7XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMuY29udGVudFJlbmRlcmVyLmVuaGFuY2UoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,20 +1,31 @@
|
|
|
1
|
-
import { AsyncPipe } from '@angular/common';
|
|
2
|
-
import { Component,
|
|
1
|
+
import { AsyncPipe, isPlatformBrowser } from '@angular/common';
|
|
2
|
+
import { Component, Input, NgZone, PLATFORM_ID, ViewEncapsulation, inject, } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
4
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
5
|
import { ActivatedRoute } from '@angular/router';
|
|
5
|
-
import { of } from 'rxjs';
|
|
6
|
+
import { from, of } from 'rxjs';
|
|
6
7
|
import { catchError, map, mergeMap } from 'rxjs/operators';
|
|
7
|
-
import { ContentRenderer } from './content-renderer';
|
|
8
8
|
import { AnchorNavigationDirective } from './anchor-navigation.directive';
|
|
9
|
+
import { ContentRenderer } from './content-renderer';
|
|
10
|
+
import { MERMAID_IMPORT_TOKEN } from './markdown-content-renderer.service';
|
|
9
11
|
import * as i0 from "@angular/core";
|
|
10
12
|
import * as i1 from "./anchor-navigation.directive";
|
|
11
13
|
class AnalogMarkdownComponent {
|
|
12
14
|
constructor() {
|
|
13
15
|
this.sanitizer = inject(DomSanitizer);
|
|
14
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
|
+
});
|
|
15
22
|
this.content$ = of('');
|
|
16
23
|
this.classes = 'analog-markdown';
|
|
17
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
|
+
}
|
|
18
29
|
}
|
|
19
30
|
ngOnInit() {
|
|
20
31
|
this.updateContent();
|
|
@@ -30,12 +41,27 @@ class AnalogMarkdownComponent {
|
|
|
30
41
|
}
|
|
31
42
|
ngAfterViewChecked() {
|
|
32
43
|
this.contentRenderer.enhance();
|
|
44
|
+
this.zone.runOutsideAngular(() => this.mermaid?.default.run());
|
|
45
|
+
}
|
|
46
|
+
loadMermaid(mermaidImport) {
|
|
47
|
+
this.zone.runOutsideAngular(() =>
|
|
48
|
+
// Wrap into an observable to avoid redundant initialization once
|
|
49
|
+
// the markdown component is destroyed before the promise is resolved.
|
|
50
|
+
from(mermaidImport)
|
|
51
|
+
.pipe(takeUntilDestroyed())
|
|
52
|
+
.subscribe((mermaid) => {
|
|
53
|
+
this.mermaid = mermaid;
|
|
54
|
+
this.mermaid.default.initialize({ startOnLoad: false });
|
|
55
|
+
// Explicitly running mermaid as ngAfterViewChecked
|
|
56
|
+
// has probably already been called
|
|
57
|
+
this.mermaid?.default.run();
|
|
58
|
+
}));
|
|
33
59
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: AnalogMarkdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: AnalogMarkdownComponent, isStandalone: true, selector: "analog-markdown", inputs: { content: "content", classes: "classes" }, usesOnChanges: true, hostDirectives: [{ directive: i1.AnchorNavigationDirective }], ngImport: i0, template: `<div [innerHTML]="content$ | async" [class]="classes"></div>`, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true }); }
|
|
36
62
|
}
|
|
37
63
|
export default AnalogMarkdownComponent;
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: AnalogMarkdownComponent, decorators: [{
|
|
39
65
|
type: Component,
|
|
40
66
|
args: [{
|
|
41
67
|
selector: 'analog-markdown',
|
|
@@ -46,9 +72,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
46
72
|
encapsulation: ViewEncapsulation.None,
|
|
47
73
|
template: `<div [innerHTML]="content$ | async" [class]="classes"></div>`,
|
|
48
74
|
}]
|
|
49
|
-
}], propDecorators: { content: [{
|
|
75
|
+
}], ctorParameters: function () { return []; }, propDecorators: { content: [{
|
|
50
76
|
type: Input
|
|
51
77
|
}], classes: [{
|
|
52
78
|
type: Input
|
|
53
79
|
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUdOLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFjLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFFM0UsTUFTcUIsdUJBQXVCO0lBbUIxQztRQWhCUSxjQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pDLFVBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNiLGVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakMsa0JBQWEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUU7WUFDNUQsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFHSSxhQUFRLEdBQXlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUd0QyxZQUFPLEdBQUcsaUJBQWlCLENBQUM7UUFFckMsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFHeEMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM1RCw0Q0FBNEM7WUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNsQyxHQUFHLENBQWUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFDbkUsUUFBUSxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQzlELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUNqRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZTtRQUNqQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLFdBQVcsQ0FBQyxhQUFnRDtRQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtRQUMvQixpRUFBaUU7UUFDakUsc0VBQXNFO1FBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUM7YUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDeEQsbURBQW1EO1lBQ25ELG1DQUFtQztZQUNuQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQzs4R0FsRWtCLHVCQUF1QjtrR0FBdkIsdUJBQXVCLG1OQUZoQyw4REFBOEQsdURBSjlELFNBQVM7O2VBTUEsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBVDNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDcEIsY0FBYyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQzNDLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxRQUFRLEVBQUUsOERBQThEO2lCQUN6RTswRUFlVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBQTEFURk9STV9JRCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQW5jaG9yTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYW5jaG9yLW5hdmlnYXRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRlbnRSZW5kZXJlciB9IGZyb20gJy4vY29udGVudC1yZW5kZXJlcic7XG5pbXBvcnQgeyBNRVJNQUlEX0lNUE9SVF9UT0tFTiB9IGZyb20gJy4vbWFya2Rvd24tY29udGVudC1yZW5kZXJlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5hbG9nLW1hcmtkb3duJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FzeW5jUGlwZV0sXG4gIGhvc3REaXJlY3RpdmVzOiBbQW5jaG9yTmF2aWdhdGlvbkRpcmVjdGl2ZV0sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IHRydWUsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgPGRpdiBbaW5uZXJIVE1MXT1cImNvbnRlbnQkIHwgYXN5bmNcIiBbY2xhc3NdPVwiY2xhc3Nlc1wiPjwvZGl2PmAsXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQW5hbG9nTWFya2Rvd25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICBwcml2YXRlIHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWVybWFpZEltcG9ydCA9IGluamVjdChNRVJNQUlEX0lNUE9SVF9UT0tFTiwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcbiAgcHJpdmF0ZSBtZXJtYWlkOiB0eXBlb2YgaW1wb3J0KCdtZXJtYWlkJykgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGNvbnRlbnQkOiBPYnNlcnZhYmxlPFNhZmVIdG1sPiA9IG9mKCcnKTtcblxuICBASW5wdXQoKSBjb250ZW50ITogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgQElucHV0KCkgY2xhc3NlcyA9ICdhbmFsb2ctbWFya2Rvd24nO1xuXG4gIGNvbnRlbnRSZW5kZXJlciA9IGluamVjdChDb250ZW50UmVuZGVyZXIpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMubWVybWFpZEltcG9ydCkge1xuICAgICAgLy8gTWVybWFpZCBjYW4gb25seSBiZSBsb2FkZWQgb24gY2xpZW50IHNpZGVcbiAgICAgIHRoaXMubG9hZE1lcm1haWQodGhpcy5tZXJtYWlkSW1wb3J0KTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICB9XG5cbiAgdXBkYXRlQ29udGVudCgpIHtcbiAgICB0aGlzLmNvbnRlbnQkID0gdGhpcy5yb3V0ZS5kYXRhLnBpcGUoXG4gICAgICBtYXA8RGF0YSwgc3RyaW5nPigoZGF0YSkgPT4gdGhpcy5jb250ZW50ID8/IGRhdGFbJ19hbmFsb2dDb250ZW50J10pLFxuICAgICAgbWVyZ2VNYXAoKGNvbnRlbnRTdHJpbmcpID0+IHRoaXMucmVuZGVyQ29udGVudChjb250ZW50U3RyaW5nKSksXG4gICAgICBtYXAoKGNvbnRlbnQpID0+IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGNvbnRlbnQpKSxcbiAgICAgIGNhdGNoRXJyb3IoKGUpID0+IG9mKGBUaGVyZSB3YXMgYW4gZXJyb3IgJHtlfWApKVxuICAgICk7XG4gIH1cblxuICBhc3luYyByZW5kZXJDb250ZW50KGNvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudFJlbmRlcmVyLnJlbmRlcihjb250ZW50KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICB0aGlzLmNvbnRlbnRSZW5kZXJlci5lbmhhbmNlKCk7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMubWVybWFpZD8uZGVmYXVsdC5ydW4oKSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRNZXJtYWlkKG1lcm1haWRJbXBvcnQ6IFByb21pc2U8dHlwZW9mIGltcG9ydCgnbWVybWFpZCcpPikge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgLy8gV3JhcCBpbnRvIGFuIG9ic2VydmFibGUgdG8gYXZvaWQgcmVkdW5kYW50IGluaXRpYWxpemF0aW9uIG9uY2VcbiAgICAgIC8vIHRoZSBtYXJrZG93biBjb21wb25lbnQgaXMgZGVzdHJveWVkIGJlZm9yZSB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cbiAgICAgIGZyb20obWVybWFpZEltcG9ydClcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKG1lcm1haWQpID0+IHtcbiAgICAgICAgICB0aGlzLm1lcm1haWQgPSBtZXJtYWlkO1xuICAgICAgICAgIHRoaXMubWVybWFpZC5kZWZhdWx0LmluaXRpYWxpemUoeyBzdGFydE9uTG9hZDogZmFsc2UgfSk7XG4gICAgICAgICAgLy8gRXhwbGljaXRseSBydW5uaW5nIG1lcm1haWQgYXMgbmdBZnRlclZpZXdDaGVja2VkXG4gICAgICAgICAgLy8gaGFzIHByb2JhYmx5IGFscmVhZHkgYmVlbiBjYWxsZWRcbiAgICAgICAgICB0aGlzLm1lcm1haWQ/LmRlZmF1bHQucnVuKCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,81 @@
|
|
|
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 { Injectable } from '@angular/core';
|
|
6
|
+
import { marked } from 'marked';
|
|
7
|
+
import { gfmHeadingId } from 'marked-gfm-heading-id';
|
|
8
|
+
import { markedHighlight } from 'marked-highlight';
|
|
9
|
+
import 'prismjs';
|
|
10
|
+
import 'prismjs/plugins/toolbar/prism-toolbar';
|
|
11
|
+
import 'prismjs/components/prism-bash';
|
|
12
|
+
import 'prismjs/components/prism-css';
|
|
13
|
+
import 'prismjs/components/prism-javascript';
|
|
14
|
+
import 'prismjs/components/prism-json';
|
|
15
|
+
import 'prismjs/components/prism-markup';
|
|
16
|
+
import 'prismjs/components/prism-typescript';
|
|
17
|
+
import 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
class MarkedSetupService {
|
|
20
|
+
constructor() {
|
|
21
|
+
const renderer = new marked.Renderer();
|
|
22
|
+
renderer.code = (code, lang) => {
|
|
23
|
+
// Let's do a language based detection like on GitHub
|
|
24
|
+
// So we can still have non-interpreted mermaid code
|
|
25
|
+
if (lang === 'mermaid') {
|
|
26
|
+
return '<pre class="mermaid">' + code + '</pre>';
|
|
27
|
+
}
|
|
28
|
+
if (!lang) {
|
|
29
|
+
return '<pre><code>' + code + '</code></pre>';
|
|
30
|
+
}
|
|
31
|
+
const langClass = 'language-' + lang;
|
|
32
|
+
const html = '<pre class="' +
|
|
33
|
+
langClass +
|
|
34
|
+
'"><code class="' +
|
|
35
|
+
langClass +
|
|
36
|
+
'">' +
|
|
37
|
+
code +
|
|
38
|
+
'</code></pre>';
|
|
39
|
+
return html;
|
|
40
|
+
};
|
|
41
|
+
marked.use(gfmHeadingId(), markedHighlight({
|
|
42
|
+
async: true,
|
|
43
|
+
highlight: (code, lang) => {
|
|
44
|
+
lang = lang || 'typescript';
|
|
45
|
+
if (!Prism.languages[lang]) {
|
|
46
|
+
if (lang !== 'mermaid') {
|
|
47
|
+
console.warn(`Notice:
|
|
48
|
+
---------------------------------------------------------------------------------------
|
|
49
|
+
The requested language '${lang}' is not available with the provided setup.
|
|
50
|
+
To enable, import your main.ts as:
|
|
51
|
+
import 'prismjs/components/prism-${lang}';
|
|
52
|
+
---------------------------------------------------------------------------------------
|
|
53
|
+
`);
|
|
54
|
+
}
|
|
55
|
+
return code;
|
|
56
|
+
}
|
|
57
|
+
return Prism.highlight(code, Prism.languages[lang], lang);
|
|
58
|
+
},
|
|
59
|
+
}), {
|
|
60
|
+
renderer,
|
|
61
|
+
pedantic: false,
|
|
62
|
+
gfm: true,
|
|
63
|
+
breaks: false,
|
|
64
|
+
sanitize: false,
|
|
65
|
+
smartypants: false,
|
|
66
|
+
xhtml: false,
|
|
67
|
+
mangle: false,
|
|
68
|
+
});
|
|
69
|
+
this.marked = marked;
|
|
70
|
+
}
|
|
71
|
+
getMarkedInstance() {
|
|
72
|
+
return this.marked;
|
|
73
|
+
}
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MarkedSetupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
75
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MarkedSetupService }); }
|
|
76
|
+
}
|
|
77
|
+
export { MarkedSetupService };
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MarkedSetupService, decorators: [{
|
|
79
|
+
type: Injectable
|
|
80
|
+
}], ctorParameters: function () { return []; } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VkLXNldHVwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9saWIvbWFya2VkLXNldHVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxTQUFTLENBQUM7QUFDakIsT0FBTyx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8saUNBQWlDLENBQUM7QUFDekMsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLDJEQUEyRCxDQUFDOztBQUluRSxNQUNhLGtCQUFrQjtJQUc3QjtRQUNFLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDN0IscURBQXFEO1lBQ3JELG9EQUFvRDtZQUNwRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ3RCLE9BQU8sdUJBQXVCLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQzthQUNsRDtZQUVELElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1QsT0FBTyxhQUFhLEdBQUcsSUFBSSxHQUFHLGVBQWUsQ0FBQzthQUMvQztZQUNELE1BQU0sU0FBUyxHQUFHLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDckMsTUFBTSxJQUFJLEdBQ1IsY0FBYztnQkFDZCxTQUFTO2dCQUNULGlCQUFpQjtnQkFDakIsU0FBUztnQkFDVCxJQUFJO2dCQUNKLElBQUk7Z0JBQ0osZUFBZSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLEdBQUcsQ0FDUixZQUFZLEVBQUUsRUFDZCxlQUFlLENBQUM7WUFDZCxLQUFLLEVBQUUsSUFBSTtZQUNYLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDeEIsSUFBSSxHQUFHLElBQUksSUFBSSxZQUFZLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMxQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7d0JBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUM7OzhCQUVHLElBQUk7OzBDQUVRLElBQUk7O1NBRXJDLENBQUMsQ0FBQztxQkFDRTtvQkFDRCxPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFDRCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUQsQ0FBQztTQUNGLENBQUMsRUFDRjtZQUNFLFFBQVE7WUFDUixRQUFRLEVBQUUsS0FBSztZQUNmLEdBQUcsRUFBRSxJQUFJO1lBQ1QsTUFBTSxFQUFFLEtBQUs7WUFDYixRQUFRLEVBQUUsS0FBSztZQUNmLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7OEdBakVVLGtCQUFrQjtrSEFBbEIsa0JBQWtCOztTQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlZGl0IGdvZXMgdG8gU2N1bGx5IGZvciBvcmlnaW5hbCBpbXBsZW1lbnRhdGlvblxuICogaHR0cHM6Ly9naXRodWIuY29tL3NjdWxseWlvL3NjdWxseS9ibG9iL21haW4vbGlicy9zY3VsbHkvc3JjL2xpYi9maWxlSGFuZGVyUGx1Z2lucy9tYXJrZG93bi50c1xuICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXJrZWQgfSBmcm9tICdtYXJrZWQnO1xuaW1wb3J0IHsgZ2ZtSGVhZGluZ0lkIH0gZnJvbSAnbWFya2VkLWdmbS1oZWFkaW5nLWlkJztcbmltcG9ydCB7IG1hcmtlZEhpZ2hsaWdodCB9IGZyb20gJ21hcmtlZC1oaWdobGlnaHQnO1xuXG5pbXBvcnQgJ3ByaXNtanMnO1xuaW1wb3J0ICdwcmlzbWpzL3BsdWdpbnMvdG9vbGJhci9wcmlzbS10b29sYmFyJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWJhc2gnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tY3NzJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWphdmFzY3JpcHQnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tanNvbic7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1tYXJrdXAnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tdHlwZXNjcmlwdCc7XG5pbXBvcnQgJ3ByaXNtanMvcGx1Z2lucy9jb3B5LXRvLWNsaXBib2FyZC9wcmlzbS1jb3B5LXRvLWNsaXBib2FyZCc7XG5cbmRlY2xhcmUgY29uc3QgUHJpc206IHR5cGVvZiBpbXBvcnQoJ3ByaXNtanMnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hcmtlZFNldHVwU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWFya2VkOiB0eXBlb2YgbWFya2VkO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IHJlbmRlcmVyID0gbmV3IG1hcmtlZC5SZW5kZXJlcigpO1xuICAgIHJlbmRlcmVyLmNvZGUgPSAoY29kZSwgbGFuZykgPT4ge1xuICAgICAgLy8gTGV0J3MgZG8gYSBsYW5ndWFnZSBiYXNlZCBkZXRlY3Rpb24gbGlrZSBvbiBHaXRIdWJcbiAgICAgIC8vIFNvIHdlIGNhbiBzdGlsbCBoYXZlIG5vbi1pbnRlcnByZXRlZCBtZXJtYWlkIGNvZGVcbiAgICAgIGlmIChsYW5nID09PSAnbWVybWFpZCcpIHtcbiAgICAgICAgcmV0dXJuICc8cHJlIGNsYXNzPVwibWVybWFpZFwiPicgKyBjb2RlICsgJzwvcHJlPic7XG4gICAgICB9XG5cbiAgICAgIGlmICghbGFuZykge1xuICAgICAgICByZXR1cm4gJzxwcmU+PGNvZGU+JyArIGNvZGUgKyAnPC9jb2RlPjwvcHJlPic7XG4gICAgICB9XG4gICAgICBjb25zdCBsYW5nQ2xhc3MgPSAnbGFuZ3VhZ2UtJyArIGxhbmc7XG4gICAgICBjb25zdCBodG1sID1cbiAgICAgICAgJzxwcmUgY2xhc3M9XCInICtcbiAgICAgICAgbGFuZ0NsYXNzICtcbiAgICAgICAgJ1wiPjxjb2RlIGNsYXNzPVwiJyArXG4gICAgICAgIGxhbmdDbGFzcyArXG4gICAgICAgICdcIj4nICtcbiAgICAgICAgY29kZSArXG4gICAgICAgICc8L2NvZGU+PC9wcmU+JztcbiAgICAgIHJldHVybiBodG1sO1xuICAgIH07XG5cbiAgICBtYXJrZWQudXNlKFxuICAgICAgZ2ZtSGVhZGluZ0lkKCksXG4gICAgICBtYXJrZWRIaWdobGlnaHQoe1xuICAgICAgICBhc3luYzogdHJ1ZSxcbiAgICAgICAgaGlnaGxpZ2h0OiAoY29kZSwgbGFuZykgPT4ge1xuICAgICAgICAgIGxhbmcgPSBsYW5nIHx8ICd0eXBlc2NyaXB0JztcbiAgICAgICAgICBpZiAoIVByaXNtLmxhbmd1YWdlc1tsYW5nXSkge1xuICAgICAgICAgICAgaWYgKGxhbmcgIT09ICdtZXJtYWlkJykge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYE5vdGljZTpcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUaGUgcmVxdWVzdGVkIGxhbmd1YWdlICcke2xhbmd9JyBpcyBub3QgYXZhaWxhYmxlIHdpdGggdGhlIHByb3ZpZGVkIHNldHVwLlxuICAgIFRvIGVuYWJsZSwgaW1wb3J0IHlvdXIgbWFpbi50cyBhczpcbiAgICAgIGltcG9ydCAgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS0ke2xhbmd9JztcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29kZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFByaXNtLmhpZ2hsaWdodChjb2RlLCBQcmlzbS5sYW5ndWFnZXNbbGFuZ10sIGxhbmcpO1xuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICB7XG4gICAgICAgIHJlbmRlcmVyLFxuICAgICAgICBwZWRhbnRpYzogZmFsc2UsXG4gICAgICAgIGdmbTogdHJ1ZSxcbiAgICAgICAgYnJlYWtzOiBmYWxzZSxcbiAgICAgICAgc2FuaXRpemU6IGZhbHNlLFxuICAgICAgICBzbWFydHlwYW50czogZmFsc2UsXG4gICAgICAgIHhodG1sOiBmYWxzZSxcbiAgICAgICAgbWFuZ2xlOiBmYWxzZSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5tYXJrZWQgPSBtYXJrZWQ7XG4gIH1cblxuICBnZXRNYXJrZWRJbnN0YW5jZSgpOiB0eXBlb2YgbWFya2VkIHtcbiAgICByZXR1cm4gdGhpcy5tYXJrZWQ7XG4gIH1cbn1cbiJdfQ==
|