Skip to content

Commit 5836695

Browse files
committed
fix: do not break single "improved" links from edge
1 parent ae838a9 commit 5836695

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/paste-markdown-html.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ type MarkdownTransformer = (element: HTMLElement | HTMLAnchorElement, args: stri
1212

1313
function onPaste(event: ClipboardEvent) {
1414
const transfer = event.clipboardData
15-
if (!transfer || !hasHTML(transfer)) return
15+
// if there is no clipboard data, or
16+
// if there is no html content in the clipboard, or
17+
// if the browser has made an "improved URL for pasting", return
18+
// See https://support.microsoft.com/en-gb/microsoft-edge/improved-copy-and-paste-of-urls-in-microsoft-edge-d3bd3956-603a-0033-1fbc-9588a30645b4 for more
19+
if (!transfer || !hasHTML(transfer) || hasLinkPreview(transfer)) return
1620

1721
const field = event.currentTarget
1822
if (!(field instanceof HTMLTextAreaElement)) return
@@ -79,6 +83,10 @@ function hasHTML(transfer: DataTransfer): boolean {
7983
return transfer.types.includes('text/html')
8084
}
8185

86+
function hasLinkPreview(transfer) {
87+
return transfer.types.includes('text/link-preview');
88+
}
89+
8290
function linkify(element: HTMLAnchorElement): string {
8391
return `[${element.textContent}](${element.href})`
8492
}

0 commit comments

Comments
 (0)