From b4c250d080cd4c99703e176b7745599b3010305d Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Mon, 3 Mar 2025 23:00:35 +0000 Subject: [PATCH 1/4] chore: support links in SVGs --- packages/mermaid/src/rendering-util/handle-markdown-text.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.ts index f898875cf0..8cdafdcfc5 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.ts @@ -88,6 +88,8 @@ export function markdownToHTML(markdown: string, { markdownAutoWrap }: MermaidCo return `${node.text}`; } else if (node.type === 'escape') { return node.text; + } else if (node.type === 'link') { + return `${node.children.map(output).join('')}`; } return `Unsupported markdown: ${node.type}`; } From 1a3c36022ff476c1de5317da20ffdcebeaff4d7a Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Mon, 3 Mar 2025 23:03:16 +0000 Subject: [PATCH 2/4] chore: fix formatting --- packages/mermaid/src/rendering-util/handle-markdown-text.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.ts index 8cdafdcfc5..6528740aba 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.ts @@ -88,7 +88,7 @@ export function markdownToHTML(markdown: string, { markdownAutoWrap }: MermaidCo return `${node.text}`; } else if (node.type === 'escape') { return node.text; - } else if (node.type === 'link') { + } else if (node.type === 'link') { return `${node.children.map(output).join('')}`; } return `Unsupported markdown: ${node.type}`; From b1ac0f162f80dd0f1694a1aad0894f20fd9d1d7d Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 4 Mar 2025 13:42:05 +0000 Subject: [PATCH 3/4] chore: add test --- .../src/rendering-util/handle-markdown-text.spec.ts | 7 +++++++ .../mermaid/src/rendering-util/handle-markdown-text.ts | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.spec.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.spec.ts index 3ab4167a22..4c2a769fe4 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.spec.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.spec.ts @@ -272,6 +272,13 @@ test('markdownToHTML - Only italic formatting', () => { expect(output).toEqual(expectedOutput); }); +test('markdownToHTML - HTML Link', () => { + const input = `This is a [link](http://example.com)`; + const expectedOutput = `

This is a link

`; + const output = markdownToHTML(input); + expect(output).toEqual(expectedOutput); +}); + test('markdownToHTML - Mixed formatting', () => { const input = `*Italic* and **bold** formatting`; const expectedOutput = `

Italic and bold formatting

`; diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.ts b/packages/mermaid/src/rendering-util/handle-markdown-text.ts index 6528740aba..79fa31be81 100644 --- a/packages/mermaid/src/rendering-util/handle-markdown-text.ts +++ b/packages/mermaid/src/rendering-util/handle-markdown-text.ts @@ -89,7 +89,7 @@ export function markdownToHTML(markdown: string, { markdownAutoWrap }: MermaidCo } else if (node.type === 'escape') { return node.text; } else if (node.type === 'link') { - return `${node.children.map(output).join('')}`; + return `${node.tokens?.map(output).join('')}`; } return `Unsupported markdown: ${node.type}`; } From 7e5af3bdb15fc023f45b7c2914384ecb82ef94c3 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 4 Mar 2025 13:47:46 +0000 Subject: [PATCH 4/4] chore(changeset): add SVG links to changeset --- .changeset/pink-geckos-sing.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/pink-geckos-sing.md diff --git a/.changeset/pink-geckos-sing.md b/.changeset/pink-geckos-sing.md new file mode 100644 index 0000000000..dba6b82c55 --- /dev/null +++ b/.changeset/pink-geckos-sing.md @@ -0,0 +1,5 @@ +--- +'mermaid': minor +--- + +feat: support links in SVGs