From 667ff1797d11671bb2f7e11cbff2e447db8e93ee Mon Sep 17 00:00:00 2001 From: bwat47 Date: Thu, 12 Mar 2026 14:47:49 -0400 Subject: [PATCH] Desktop: Fixes #13107: html to markdown conversion sometimes converting links to plaintext with tags (#14683) --- .../app-cli/tests/html_to_md/anchor_underlined_fragment.html | 1 + .../app-cli/tests/html_to_md/anchor_underlined_fragment.md | 1 + packages/turndown/src/commonmark-rules.js | 5 +++++ 3 files changed, 7 insertions(+) create mode 100644 packages/app-cli/tests/html_to_md/anchor_underlined_fragment.html create mode 100644 packages/app-cli/tests/html_to_md/anchor_underlined_fragment.md diff --git a/packages/app-cli/tests/html_to_md/anchor_underlined_fragment.html b/packages/app-cli/tests/html_to_md/anchor_underlined_fragment.html new file mode 100644 index 0000000000..d650733f64 --- /dev/null +++ b/packages/app-cli/tests/html_to_md/anchor_underlined_fragment.html @@ -0,0 +1 @@ +Section Link diff --git a/packages/app-cli/tests/html_to_md/anchor_underlined_fragment.md b/packages/app-cli/tests/html_to_md/anchor_underlined_fragment.md new file mode 100644 index 0000000000..fc4bdbe214 --- /dev/null +++ b/packages/app-cli/tests/html_to_md/anchor_underlined_fragment.md @@ -0,0 +1 @@ +[Section Link](#section) \ No newline at end of file diff --git a/packages/turndown/src/commonmark-rules.js b/packages/turndown/src/commonmark-rules.js index 3498f7cbfc..a709cc3424 100644 --- a/packages/turndown/src/commonmark-rules.js +++ b/packages/turndown/src/commonmark-rules.js @@ -115,6 +115,11 @@ rules.insert = { // // https://github.com/laurent22/joplin/issues/5480 if (node.nodeName === 'INS') return true; + if (node.nodeName === 'A' && ( + node.getAttribute('href') || + node.getAttribute('name') || + node.getAttribute('id') + )) return false; return getStyleProp(node, 'text-decoration') === 'underline'; },