diff --git a/src/services/import/markdown.spec.ts b/src/services/import/markdown.spec.ts index 061e22f21..ea98eca96 100644 --- a/src/services/import/markdown.spec.ts +++ b/src/services/import/markdown.spec.ts @@ -163,4 +163,16 @@ second line 2
  1. Hello
  2. { + const input = `The equation is\u00a0$e=mc^{2}$.`; + const expected = /*html*/`

    The equation is \(e=mc^{2}\).

    `; + expect(markdownService.renderToHtml(input, "Title")).toStrictEqual(expected); + }); + + it("converts display math expressions into Mathtex format", () => { + const input = `$$\sqrt{x^{2}+1}$$`; + const expected = /*html*/`

    \\[\sqrt{x^{2}+1}\\]

    `; + expect(markdownService.renderToHtml(input, "Title")).toStrictEqual(expected); + }); + }); diff --git a/src/services/import/markdown.ts b/src/services/import/markdown.ts index 57bf58dd6..1613c2f57 100644 --- a/src/services/import/markdown.ts +++ b/src/services/import/markdown.ts @@ -12,7 +12,13 @@ class CustomMarkdownRenderer extends Renderer { } paragraph(data: Tokens.Paragraph): string { - return super.paragraph(data).trimEnd(); + let text = super.paragraph(data).trimEnd(); + + // Display math + text = text.replaceAll(/\$\$(.+)\$\$/g, + `\\\[$1\\\]`); + + return text; } code({ text, lang }: Tokens.Code): string {