From 92615481f35701a5bad78c1d29dbca5ca3db0007 Mon Sep 17 00:00:00 2001 From: Cyril Date: Mon, 20 Apr 2026 15:19:12 +0200 Subject: [PATCH 1/2] fix(markdown): avoid autolink angle brackets when copying plain URL links --- .../api/exporters/markdown/markdownExporter.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/core/src/api/exporters/markdown/markdownExporter.ts b/packages/core/src/api/exporters/markdown/markdownExporter.ts index 488886c76d..4bdc3be362 100644 --- a/packages/core/src/api/exporters/markdown/markdownExporter.ts +++ b/packages/core/src/api/exporters/markdown/markdownExporter.ts @@ -33,7 +33,22 @@ export function cleanHTMLToMarkdown(cleanHTMLString: string) { .use(deps.rehypeRemark.default) .use(deps.remarkGfm.default) .use(deps.remarkStringify.default, { - handlers: { text: (node) => node.value }, + handlers: { + text: (node) => node.value, + // Prevent autolink format output plain URL instead + link: (node, _parent, state) => { + const children = state.containerPhrasing(node, { + before: "[", + after: "]", + lineShift: 0, + now: { line: 1, column: 1, offset: 0 }, + }); + if (!children || children === node.url) { + return node.url; + } + return `[${children}](${node.url})`; + }, + }, }) .processSync(cleanHTMLString); From c0daf5b2d852325f2bedd24b39b832d6631f2557 Mon Sep 17 00:00:00 2001 From: Cyril Date: Mon, 20 Apr 2026 16:16:21 +0200 Subject: [PATCH 2/2] fixup! fix(markdown): avoid autolink angle brackets when copying plain URL links --- .../src/api/exporters/markdown/markdownExporter.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/core/src/api/exporters/markdown/markdownExporter.ts b/packages/core/src/api/exporters/markdown/markdownExporter.ts index 4bdc3be362..e744f3344f 100644 --- a/packages/core/src/api/exporters/markdown/markdownExporter.ts +++ b/packages/core/src/api/exporters/markdown/markdownExporter.ts @@ -35,18 +35,18 @@ export function cleanHTMLToMarkdown(cleanHTMLString: string) { .use(deps.remarkStringify.default, { handlers: { text: (node) => node.value, - // Prevent autolink format output plain URL instead - link: (node, _parent, state) => { + // Prevent autolink format , output plain URL instead + link: (node, _parent, state, info) => { const children = state.containerPhrasing(node, { + ...info, before: "[", after: "]", - lineShift: 0, - now: { line: 1, column: 1, offset: 0 }, }); if (!children || children === node.url) { return node.url; } - return `[${children}](${node.url})`; + const url = state.safe(node.url, { before: "(", after: ")" }); + return `[${children}](${url})`; }, }, })