From 4169b566e8a01a282aa591a33ee91c6d2d0f04ac Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 22 Jun 2022 11:52:22 +0800 Subject: [PATCH] :art: fix https://github.com/siyuan-note/siyuan/issues/5073 --- app/appearance/langs/en_US.json | 1 + app/appearance/langs/fr_FR.json | 1 + app/appearance/langs/zh_CHT.json | 1 + app/appearance/langs/zh_CN.json | 1 + app/src/menus/protyle.ts | 14 ++++++++++++++ 5 files changed, 18 insertions(+) diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 018548533..0fe8f83e6 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1,4 +1,5 @@ { + "pasteEscaped": "Paste escaped text", "resetRepoTip": "Resetting the data repository will completely delete the key and all snapshots, are you sure you want to reset?", "resetRepo": "Reset data repo", "createSnapshot": "Create snapshot", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 1149673f5..93ae7caee 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1,4 +1,5 @@ { + "pasteEscaped": "Coller le texte échappé", "resetRepoTip": "La réinitialisation du référentiel de données supprimera complètement la clé et tous les instantanés, êtes-vous sûr de vouloir réinitialiser ?", "resetRepo": "Réinitialiser le référentiel de données", "createSnapshot": "Créer un instantané", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index ba20d9e3f..c07b6c70c 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1,4 +1,5 @@ { + "pasteEscaped": "粘貼轉義文本", "resetRepoTip": "重置數據倉庫會徹底刪除密鑰和所有快照,確定進行重置嗎?", "resetRepo": "重置數據倉庫", "createSnapshot": "創建快照", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 095c08e18..9648674d2 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1,4 +1,5 @@ { + "pasteEscaped": "粘贴转义文本", "resetRepoTip": "重置数据仓库会彻底删除密钥和所有快照,确定进行重置吗?", "resetRepo": "重置数据仓库", "createSnapshot": "创建快照", diff --git a/app/src/menus/protyle.ts b/app/src/menus/protyle.ts index 739389d81..2d7c529ce 100644 --- a/app/src/menus/protyle.ts +++ b/app/src/menus/protyle.ts @@ -296,6 +296,20 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => { } }).element); /// #endif + window.siyuan.menus.menu.append(new MenuItem({ + label: window.siyuan.languages.pasteEscaped, + async click() { + try { + // * _ [ ] ! \ ` < > & ~ { } ( ) = # $ ^ | + let clipText = await navigator.clipboard.readText(); + clipText = clipText.replace(/\*/g, "\\*").replace(/\_/g, "\\_").replace(/\[/g, "\\[").replace(/\]/g, "\\]").replace(/\!/g, "\\!").replace(/\\/g, "\\").replace(/\`/g, "\\`").replace(/\/g, "\\>"). + replace(/\&/g, "\\&").replace(/\~/g, "\\~").replace(/\{/g, "\\{").replace(/\}/g, "\\}").replace(/\(/g, "\\(").replace(/\)/g, "\\)").replace(/\=/g, "\\=").replace(/\#/g, "\\#").replace(/\$/g, "\\$").replace(/\^/g, "\\^").replace(/\|/g, "\\|") + pasteText(protyle, clipText, nodeElement); + } catch (e) { + console.log(e); + } + } + }).element); window.siyuan.menus.menu.append(new MenuItem({ label: window.siyuan.languages.selectAll, accelerator: "⌘A",