From ee724eb9fa90846dfb1128c583732d243bf0f7ee Mon Sep 17 00:00:00 2001 From: greatzp Date: Tue, 5 Mar 2024 22:04:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(md):=20=E8=B0=83=E6=95=B4=E6=A0=87?= =?UTF-8?q?=E9=A2=98=E5=B7=A5=E5=85=B7=E6=8C=89=E9=92=AE=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E5=AD=97=E5=90=8E=E5=A4=9A=E4=BD=99=E5=A4=8D=E5=88=B6?= =?UTF-8?q?=E9=80=89=E5=8F=96=E5=86=85=E5=AE=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/devui-vue/devui/editor-md/src/toolbar-config.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/devui-vue/devui/editor-md/src/toolbar-config.ts b/packages/devui-vue/devui/editor-md/src/toolbar-config.ts index 29f35fac14..588bd41619 100644 --- a/packages/devui-vue/devui/editor-md/src/toolbar-config.ts +++ b/packages/devui-vue/devui/editor-md/src/toolbar-config.ts @@ -75,8 +75,7 @@ class ToolBarHandler { if (cursor.ch !== 0) { editor.setCursor(cursor.line, 0); - editor.replaceSelection('# ' + selection); - editor.setCursor(cursor.line, cursor.ch + 2); + editor.replaceSelection('# '); } else { editor.replaceSelection('# ' + selection); } @@ -89,8 +88,7 @@ class ToolBarHandler { if (cursor.ch !== 0) { editor.setCursor(cursor.line, 0); - editor.replaceSelection('## ' + selection); - editor.setCursor(cursor.line, cursor.ch + 3); + editor.replaceSelection('## '); } else { editor.replaceSelection('## ' + selection); } From fe0fa8b598cb329b6aaed806d039d6e95770bb17 Mon Sep 17 00:00:00 2001 From: greatzp Date: Tue, 5 Mar 2024 22:59:00 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(md):=20xss=E8=BF=87=E6=BB=A4=E8=A7=84?= =?UTF-8?q?=E5=88=99=E5=A2=9E=E5=8A=A0=E5=8F=AF=E6=8E=92=E9=99=A4=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devui/editor-md/src/composables/md-render-service.ts | 6 +++++- packages/devui-vue/devui/editor-md/src/editor-md-types.ts | 2 +- packages/devui-vue/docs/components/editor-md/index.md | 6 +++++- packages/devui-vue/package.json | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/devui-vue/devui/editor-md/src/composables/md-render-service.ts b/packages/devui-vue/devui/editor-md/src/composables/md-render-service.ts index 32e7c5e720..e3e3a688da 100644 --- a/packages/devui-vue/devui/editor-md/src/composables/md-render-service.ts +++ b/packages/devui-vue/devui/editor-md/src/composables/md-render-service.ts @@ -73,7 +73,11 @@ export class MDRenderService { setCustomXssRules(rules: ICustomXssRule[]) { if (rules) { rules.forEach((rule) => { - this.xssWhiteList[rule['key']] = rule['value']; + if (rule['value'] === null) { + delete this.xssWhiteList[rule['key']]; + } else { + this.xssWhiteList[rule['key']] = rule['value']; + } }); } } diff --git a/packages/devui-vue/devui/editor-md/src/editor-md-types.ts b/packages/devui-vue/devui/editor-md/src/editor-md-types.ts index 1774cbd148..40dc634df2 100644 --- a/packages/devui-vue/devui/editor-md/src/editor-md-types.ts +++ b/packages/devui-vue/devui/editor-md/src/editor-md-types.ts @@ -16,7 +16,7 @@ export interface MdPlugin { export interface ICustomXssRule { key: string; - value: string[]; + value: string[] | null; } export interface ICustomRenderRule { diff --git a/packages/devui-vue/docs/components/editor-md/index.md b/packages/devui-vue/docs/components/editor-md/index.md index badb30e6af..fb7b4d1c12 100644 --- a/packages/devui-vue/docs/components/editor-md/index.md +++ b/packages/devui-vue/docs/components/editor-md/index.md @@ -58,6 +58,10 @@ export default defineComponent({ key: 'kbd', value: [], // 为空表示过滤所有属性,放开属性则添加对应项,如['id', 'style'] }, + { + key: 'input', + value: null, // value值为null,则对应标签不会被渲染 + } ]) const customRendererRules = ref([ { @@ -635,7 +639,7 @@ interface ICustomRenderRule { ```ts interface ICustomXssRule { key: string; - value: string[]; + value: string[] | null; } ``` diff --git a/packages/devui-vue/package.json b/packages/devui-vue/package.json index 91b2c9f955..2992568eb6 100644 --- a/packages/devui-vue/package.json +++ b/packages/devui-vue/package.json @@ -1,6 +1,6 @@ { "name": "vue-devui", - "version": "1.6.3-markdown.1", + "version": "1.6.3-markdown.2", "license": "MIT", "description": "DevUI components based on Vite and Vue3", "keywords": [