From dce630a9c23d2b03d2124432045b7c0160176ffd Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 28 Aug 2022 10:49:42 +0800 Subject: [PATCH] :art: fix https://github.com/siyuan-note/siyuan/issues/5733 --- app/src/menus/protyle.ts | 6 +++++- app/src/protyle/gutter/index.ts | 12 ++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) 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()); }