diff --git a/packages/editor/src/extensions/clipboard/clipboard-dom-parser.ts b/packages/editor/src/extensions/clipboard/clipboard-dom-parser.ts index f118c15d6..c78e2b170 100644 --- a/packages/editor/src/extensions/clipboard/clipboard-dom-parser.ts +++ b/packages/editor/src/extensions/clipboard/clipboard-dom-parser.ts @@ -44,6 +44,7 @@ export class ClipboardDOMParser extends ProsemirrorDOMParser { convertBrToSingleSpacedParagraphs(dom); removeRestrictedFeatures(dom); removeBlockId(dom); + cleanupPastedNNLinkHtml(dom); } return super.parseSlice(dom, options); } @@ -55,6 +56,7 @@ export class ClipboardDOMParser extends ProsemirrorDOMParser { convertBrToSingleSpacedParagraphs(dom); removeRestrictedFeatures(dom); removeBlockId(dom); + cleanupPastedNNLinkHtml(dom); } return super.parse(dom, options); } @@ -66,6 +68,15 @@ export function removeBlockId(dom: HTMLElement | Document) { } } +export function cleanupPastedNNLinkHtml(dom: HTMLElement | Document) { + const isNNLink = dom.querySelectorAll(`[href^="nn://"]`).length === 1; + if (isNNLink) { + for (const element of dom.querySelectorAll("[style]")) { + element.removeAttribute("style"); + } + } +} + export function formatCodeblocks(dom: HTMLElement | Document) { for (const pre of dom.querySelectorAll("pre")) { pre.innerHTML = pre.innerHTML?.replaceAll(//g, "\n");