From 288802199c46bb830db29edf1c96704e73502a1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E6=B2=90=E9=98=B3?= Date: Wed, 30 Aug 2023 12:05:15 +0800 Subject: [PATCH 1/2] fix issue #552 CodeBlock Copy --- dist/cherry-markdown.css | 4 ++-- dist/cherry-markdown.js | 4 ++-- dist/cherry-markdown.js.map | 4 ++-- src/toolbars/PreviewerBubble.js | 9 +++++++-- src/utils/code-preview-language-setting.js | 2 +- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/dist/cherry-markdown.css b/dist/cherry-markdown.css index b4bc68da..88aaf461 100644 --- a/dist/cherry-markdown.css +++ b/dist/cherry-markdown.css @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7baad40b6e2a10f7b75a3d4f36d263e9c56fdaf3061f239041d8a4c64858cc53 -size 157706 +oid sha256:bb4ff5868b749a4180f50a3d15965ef4bfbbd4f26f3cc5020608b2efe0083452 +size 157622 diff --git a/dist/cherry-markdown.js b/dist/cherry-markdown.js index 181b0f5e..577aab22 100644 --- a/dist/cherry-markdown.js +++ b/dist/cherry-markdown.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f9cc038af57f9ca74c83008bfa8c33c3b59e13cb850454e2d2ffcb3140bbadf3 -size 8166847 +oid sha256:5afa2f521803c587dc6368c1eee4f6141ad5573b9c89fc01000558c63b4c52dd +size 8406489 diff --git a/dist/cherry-markdown.js.map b/dist/cherry-markdown.js.map index 2c39e579..5f39a73b 100644 --- a/dist/cherry-markdown.js.map +++ b/dist/cherry-markdown.js.map @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0297b6b164f535ba9117f1f1ad29cc5db34c8ee604ca3588c3634670dab16266 -size 19715127 +oid sha256:7874bf14dcc4a99127ea899f538b57eaad3eadf34e40099cb39b2f856cb74932 +size 19707548 diff --git a/src/toolbars/PreviewerBubble.js b/src/toolbars/PreviewerBubble.js index 245b78c2..e50b6a89 100644 --- a/src/toolbars/PreviewerBubble.js +++ b/src/toolbars/PreviewerBubble.js @@ -20,7 +20,10 @@ import { drawioDialog } from '@/utils/dialog'; import Event from '@/Event'; import { copyToClip } from '@/utils/copy'; import { imgDrawioReg, getCodeBlockRule } from '@/utils/regexp'; -import { CODE_PREVIEWER_LANG_SELECT_CLASS_NAME } from '@/utils/code-preview-language-setting'; +import { + CODE_PREVIEWER_LANG_SELECT_CLASS_NAME, + codePreviewLangSelectList, +} from '@/utils/code-preview-language-setting'; import debounce from 'lodash/debounce'; import FormulaHandler from '@/utils/formulaUtilsHandler'; /** @@ -278,7 +281,9 @@ export default class PreviewerBubble { if (target.className === 'cherry-copy-code-block' || target.parentNode?.className === 'cherry-copy-code-block') { const parentNode = target.className === 'cherry-copy-code-block' ? target.parentNode : target.parentNode.parentNode; - const codeContent = parentNode.innerText; + const l = codePreviewLangSelectList.length; + const lines = parentNode.innerText.split('\n'); + const codeContent = lines.slice(l + 1).join('\n'); const final = this.previewer.$cherry.options.callback.onCopyCode(e, codeContent); if (final === false) { return false; diff --git a/src/utils/code-preview-language-setting.js b/src/utils/code-preview-language-setting.js index 1365646e..b8dd782f 100644 --- a/src/utils/code-preview-language-setting.js +++ b/src/utils/code-preview-language-setting.js @@ -19,7 +19,7 @@ export const getCodePreviewLangSelectElement = (lang) => { }; // program language list: -const codePreviewLangSelectList = [ +export const codePreviewLangSelectList = [ 'javascript', 'typescript', 'html', From 19e025a7158cba55071a7dc7631869385512c3c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E6=B2=90=E9=98=B3?= Date: Wed, 30 Aug 2023 14:06:13 +0800 Subject: [PATCH 2/2] fix issue #552 CodeBlock Copy --- dist/cherry-markdown.js | 4 ++-- dist/cherry-markdown.js.map | 4 ++-- src/toolbars/PreviewerBubble.js | 9 ++------- src/utils/code-preview-language-setting.js | 2 +- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/dist/cherry-markdown.js b/dist/cherry-markdown.js index 577aab22..370455ff 100644 --- a/dist/cherry-markdown.js +++ b/dist/cherry-markdown.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5afa2f521803c587dc6368c1eee4f6141ad5573b9c89fc01000558c63b4c52dd -size 8406489 +oid sha256:40d9c614d3894d38dd7ae21865cbda6fd0804c3e8aaa5087511937aaef8d602e +size 8406376 diff --git a/dist/cherry-markdown.js.map b/dist/cherry-markdown.js.map index 5f39a73b..13749aba 100644 --- a/dist/cherry-markdown.js.map +++ b/dist/cherry-markdown.js.map @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7874bf14dcc4a99127ea899f538b57eaad3eadf34e40099cb39b2f856cb74932 -size 19707548 +oid sha256:bb82590905fa89476d6b30727bcb7b78686bea885cd99fdb73d81ebed06bf581 +size 19707132 diff --git a/src/toolbars/PreviewerBubble.js b/src/toolbars/PreviewerBubble.js index e50b6a89..37556b1f 100644 --- a/src/toolbars/PreviewerBubble.js +++ b/src/toolbars/PreviewerBubble.js @@ -20,10 +20,7 @@ import { drawioDialog } from '@/utils/dialog'; import Event from '@/Event'; import { copyToClip } from '@/utils/copy'; import { imgDrawioReg, getCodeBlockRule } from '@/utils/regexp'; -import { - CODE_PREVIEWER_LANG_SELECT_CLASS_NAME, - codePreviewLangSelectList, -} from '@/utils/code-preview-language-setting'; +import { CODE_PREVIEWER_LANG_SELECT_CLASS_NAME } from '@/utils/code-preview-language-setting'; import debounce from 'lodash/debounce'; import FormulaHandler from '@/utils/formulaUtilsHandler'; /** @@ -281,9 +278,7 @@ export default class PreviewerBubble { if (target.className === 'cherry-copy-code-block' || target.parentNode?.className === 'cherry-copy-code-block') { const parentNode = target.className === 'cherry-copy-code-block' ? target.parentNode : target.parentNode.parentNode; - const l = codePreviewLangSelectList.length; - const lines = parentNode.innerText.split('\n'); - const codeContent = lines.slice(l + 1).join('\n'); + const codeContent = parentNode.lastElementChild.innerText; const final = this.previewer.$cherry.options.callback.onCopyCode(e, codeContent); if (final === false) { return false; diff --git a/src/utils/code-preview-language-setting.js b/src/utils/code-preview-language-setting.js index b8dd782f..1365646e 100644 --- a/src/utils/code-preview-language-setting.js +++ b/src/utils/code-preview-language-setting.js @@ -19,7 +19,7 @@ export const getCodePreviewLangSelectElement = (lang) => { }; // program language list: -export const codePreviewLangSelectList = [ +const codePreviewLangSelectList = [ 'javascript', 'typescript', 'html',