diff --git a/src/services/import/markdown.spec.ts b/src/services/import/markdown.spec.ts index d2d8ea694..e25a8bc09 100644 --- a/src/services/import/markdown.spec.ts +++ b/src/services/import/markdown.spec.ts @@ -175,4 +175,14 @@ second line 2
${scenario}
`); + } + }); + }); diff --git a/src/services/import/markdown.ts b/src/services/import/markdown.ts index 60f770bbd..209d4afe5 100644 --- a/src/services/import/markdown.ts +++ b/src/services/import/markdown.ts @@ -16,11 +16,11 @@ class CustomMarkdownRenderer extends Renderer { if (text.includes("$")) { // Display math - text = text.replaceAll(/\$\$(.+)\$\$/g, + text = text.replaceAll(/(?\\\[$1\\\]`); // Inline math - text = text.replaceAll(/\$(.+)\$/g, + text = text.replaceAll(/(?\\\($1\\\)`); } @@ -87,6 +87,9 @@ import { ADMONITION_TYPE_MAPPINGS } from "../export/markdown.js"; import utils from "../utils.js"; function renderToHtml(content: string, title: string) { + // Double-escape slashes in math expression because they are otherwise consumed by the parser somewhere. + content = content.replaceAll("\\$", "\\\\$"); + let html = parse(content, { async: false, renderer: renderer