mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-10-18 19:30:27 +08:00
Add a new plain marked instance
This commit is contained in:
@@ -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
@@ -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(),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user