fix(import/markdown): support wikilinks in other elements other than paragraphs

This commit is contained in:
Elian Doran 2025-06-20 21:00:39 +03:00
parent 4a40b22c9a
commit 8d90231f76
No known key found for this signature in database
2 changed files with 13 additions and 3 deletions

View File

@ -287,4 +287,10 @@ $$`;
expect(markdownService.renderToHtml(input, "Title")).toStrictEqual(expected); expect(markdownService.renderToHtml(input, "Title")).toStrictEqual(expected);
}); });
it("supports wikilink in lists", () => {
const input = `- oh no my banana I bought on [[journal/monday]] has gone off! Im taking it back to the [[other/shop]] for a refund`;
const expected = `<ul><li>oh no my banana I bought on <a class="reference-link" href="/journal/monday">journal/monday</a> has gone off! Im taking it back to the <a class="reference-link" href="/other/shop">other/shop</a> for a refund</li></ul>`;
expect(markdownService.renderToHtml(input, "Title")).toStrictEqual(expected);
});
}); });

View File

@ -23,9 +23,7 @@ class CustomMarkdownRenderer extends Renderer {
} }
override paragraph(data: Tokens.Paragraph): string { override paragraph(data: Tokens.Paragraph): string {
let text = super.paragraph(data).trimEnd(); return super.paragraph(data).trimEnd();
text = processWikiLinks(text);
return text;
} }
override code({ text, lang }: Tokens.Code): string { override code({ text, lang }: Tokens.Code): string {
@ -117,6 +115,12 @@ class CustomMarkdownRenderer extends Renderer {
return `<blockquote>${body}</blockquote>`; return `<blockquote>${body}</blockquote>`;
} }
text(token: Tokens.Text | Tokens.Escape): string {
let text = super.text(token);
text = processWikiLinks(text);
return text;
}
} }
function renderToHtml(content: string, title: string) { function renderToHtml(content: string, title: string) {