Skip to content

Commit de295d9

Browse files
authored
Merge pull request #1793 from DevCloudFE/dev
feat(md): xss过滤规则增加可排除标签渲染; fix(md): 调整标题工具按钮选中文字后多余复制选取内容问题
2 parents 150241d + 1b0b120 commit de295d9

File tree

5 files changed

+14
-8
lines changed

5 files changed

+14
-8
lines changed

packages/devui-vue/devui/editor-md/src/composables/md-render-service.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,11 @@ export class MDRenderService {
7373
setCustomXssRules(rules: ICustomXssRule[]) {
7474
if (rules) {
7575
rules.forEach((rule) => {
76-
this.xssWhiteList[rule['key']] = rule['value'];
76+
if (rule['value'] === null) {
77+
delete this.xssWhiteList[rule['key']];
78+
} else {
79+
this.xssWhiteList[rule['key']] = rule['value'];
80+
}
7781
});
7882
}
7983
}

packages/devui-vue/devui/editor-md/src/editor-md-types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export interface MdPlugin {
1616

1717
export interface ICustomXssRule {
1818
key: string;
19-
value: string[];
19+
value: string[] | null;
2020
}
2121

2222
export interface ICustomRenderRule {

packages/devui-vue/devui/editor-md/src/toolbar-config.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,7 @@ class ToolBarHandler {
7575

7676
if (cursor.ch !== 0) {
7777
editor.setCursor(cursor.line, 0);
78-
editor.replaceSelection('# ' + selection);
79-
editor.setCursor(cursor.line, cursor.ch + 2);
78+
editor.replaceSelection('# ');
8079
} else {
8180
editor.replaceSelection('# ' + selection);
8281
}
@@ -89,8 +88,7 @@ class ToolBarHandler {
8988

9089
if (cursor.ch !== 0) {
9190
editor.setCursor(cursor.line, 0);
92-
editor.replaceSelection('## ' + selection);
93-
editor.setCursor(cursor.line, cursor.ch + 3);
91+
editor.replaceSelection('## ');
9492
} else {
9593
editor.replaceSelection('## ' + selection);
9694
}

packages/devui-vue/docs/components/editor-md/index.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ export default defineComponent({
5858
key: 'kbd',
5959
value: [], // 为空表示过滤所有属性,放开属性则添加对应项,如['id', 'style']
6060
},
61+
{
62+
key: 'input',
63+
value: null, // value值为null,则对应标签不会被渲染
64+
}
6165
])
6266
const customRendererRules = ref([
6367
{
@@ -635,7 +639,7 @@ interface ICustomRenderRule {
635639
```ts
636640
interface ICustomXssRule {
637641
key: string;
638-
value: string[];
642+
value: string[] | null;
639643
}
640644
```
641645

packages/devui-vue/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vue-devui",
3-
"version": "1.6.3-markdown.1",
3+
"version": "1.6.3-markdown.2",
44
"license": "MIT",
55
"description": "DevUI components based on Vite and Vue3",
66
"keywords": [

0 commit comments

Comments
 (0)