diff --git a/app/src/menus/protyle.ts b/app/src/menus/protyle.ts index 85f17178a..9f572a88d 100644 --- a/app/src/menus/protyle.ts +++ b/app/src/menus/protyle.ts @@ -259,7 +259,11 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => { label: window.siyuan.languages.copyPlainText, click() { focusByRange(getEditorRange(nodeElement)); - writeText(getSelection().getRangeAt(0).toString()); + const cloneContents = getSelection().getRangeAt(0).cloneContents() + cloneContents.querySelectorAll('[data-type="backslash"]').forEach(item => { + item.firstElementChild.remove(); + }); + writeText(cloneContents.textContent); } }).element); window.siyuan.menus.menu.append(new MenuItem({ diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 66d5b2573..6466d2965 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -491,7 +491,11 @@ export class Gutter { let html = ""; selectsElement.forEach(item => { item.querySelectorAll('[contenteditable="true"]').forEach(editItem => { - html += editItem.textContent + "\n"; + const cloneNode = editItem.cloneNode(true) as HTMLElement + cloneNode.querySelectorAll('[data-type="backslash"]').forEach(slashItem => { + slashItem.firstElementChild.remove(); + }); + html += cloneNode.textContent + "\n"; }); }); writeText(html.trimEnd()); @@ -853,7 +857,11 @@ export class Gutter { click() { let text = ""; nodeElement.querySelectorAll('[contenteditable="true"]').forEach(item => { - text += item.textContent + "\n"; + const cloneNode = item.cloneNode(true) as HTMLElement + cloneNode.querySelectorAll('[data-type="backslash"]').forEach(slashItem => { + slashItem.firstElementChild.remove(); + }); + text += cloneNode.textContent + "\n"; }); writeText(text.trimEnd()); }