Add a new plain marked instance

This commit is contained in:
Sebastian Martinez
2024-06-03 20:31:50 +02:00
parent 3d13bc03ae
commit 655ccf1d0f
2 changed files with 15 additions and 14 deletions
+2 -3
View File
@@ -9,8 +9,7 @@
import * as modal from "@app/lib/modal";
import * as router from "@app/lib/router";
import ErrorModal from "@app/modals/ErrorModal.svelte";
import markdown from "@app/lib/markdown";
import { Renderer } from "@app/lib/markdown";
import { Renderer, markdownWithExtensions } from "@app/lib/markdown";
import { activeUnloadedRouteStore } from "@app/lib/router";
import { highlight } from "@app/lib/syntax";
import {
@@ -93,7 +92,7 @@
function render(content: string): string {
return dompurify.sanitize(
markdown.parse(content, {
markdownWithExtensions.parse(content, {
renderer: new Renderer($activeUnloadedRouteStore, {
stripEmphasizedStyling: false,
}),
+13 -11
View File
@@ -1,4 +1,4 @@
import type { Tokens } from "marked";
import type { MarkedExtension, Tokens } from "marked";
import type { Route } from "@app/lib/router";
import dompurify from "dompurify";
@@ -75,9 +75,7 @@ const footnoteMarkedExtension = {
renderer: (token: Tokens.Generic): string =>
`<p class="txt-small footnote" id="${footnotePrefix}:${
token.reference
}"><span class="marker">${
token.reference
}.</span> ${markedInstance.parseInline(
}"><span class="marker">${token.reference}.</span> ${markdownWithExtensions.parseInline(
token.text,
)} <a class="txt-tiny ref-arrow no-underline" href="#${referencePrefix}:${
token.reference
@@ -159,17 +157,21 @@ export class Renderer extends BaseRenderer {
}
}
const markedInstance = new Marked(
katexMarkedExtension({ throwOnError: false }),
markedLinkifyIt({}, { fuzzyLink: false }),
{
function markedCustomExtensions(): MarkedExtension {
return {
extensions: [
emojisMarkedExtension,
footnoteMarkedExtension,
footnoteReferenceMarkedExtension,
anchorMarkedExtension,
],
},
);
};
}
export default markedInstance;
export default new Marked();
export const markdownWithExtensions = new Marked(
katexMarkedExtension({ throwOnError: false }),
markedLinkifyIt({}, { fuzzyLink: false }),
markedCustomExtensions(),
);