From fe1da585acd7c354e06ec1af0b9405a636aa1d09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=8A=A4=E8=BA=AB=E6=B3=95?= <328787885@qq.com>
Date: Wed, 4 Jan 2023 09:49:05 +0000
Subject: [PATCH] =?UTF-8?q?!7=20md=E9=A2=84=E8=A7=88=E8=BF=87=E6=BB=A4?=
=?UTF-8?q?=E6=A0=BC=E5=BC=8F=20*=20=E5=8A=A0=E5=9B=BE=E6=A0=87=20*=20utf-?=
=?UTF-8?q?8=20md=E8=BF=87=E6=BB=A4=E6=A0=BC=E5=BC=8F=20*=20Merge=20branch?=
=?UTF-8?q?=20'master'=20of=20https://gitee.com/zyplayer/zyplayer-doc=20*?=
=?UTF-8?q?=20jar=E6=89=93=E5=8C=85=20=E6=89=93=E5=8C=85=E7=89=88=E6=9C=AC?=
=?UTF-8?q?=20tree=E5=9B=BE=E6=A0=87=20=E9=A2=84=E8=A7=88=E8=BF=87?=
=?UTF-8?q?=E6=BB=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
zyplayer-doc-manage/pom.xml | 2 +-
zyplayer-doc-ui/wiki-ui/package-lock.json | 160 +++++++++---------
.../src/components/layouts/GlobalLayout.vue | 4 +
.../src/components/layouts/ShareLayout.vue | 5 +
zyplayer-doc-wiki/pom.xml | 7 +
.../wiki/controller/WikiPageController.java | 5 +
.../doc/wiki/framework/common/MDToText.java | 55 ++++++
.../doc/wiki/service/git/GitService.java | 3 +-
...{index.f468d8c4.css => index.87aebf71.css} | 2 +-
.../src/main/resources/dist/doc-wiki.html | 2 +-
....9b1db48e.js => chunk-vendors.fcb2db6f.js} | 0
.../main/resources/dist/js/index.dbe36481.js | 1 +
.../main/resources/dist/js/index.ea3c72f8.js | 1 -
13 files changed, 163 insertions(+), 84 deletions(-)
create mode 100644 zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/framework/common/MDToText.java
rename zyplayer-doc-wiki/src/main/resources/dist/css/{index.f468d8c4.css => index.87aebf71.css} (96%)
rename zyplayer-doc-wiki/src/main/resources/dist/js/{chunk-vendors.9b1db48e.js => chunk-vendors.fcb2db6f.js} (100%)
create mode 100644 zyplayer-doc-wiki/src/main/resources/dist/js/index.dbe36481.js
delete mode 100644 zyplayer-doc-wiki/src/main/resources/dist/js/index.ea3c72f8.js
diff --git a/zyplayer-doc-manage/pom.xml b/zyplayer-doc-manage/pom.xml
index f4e28326..cd5a9312 100644
--- a/zyplayer-doc-manage/pom.xml
+++ b/zyplayer-doc-manage/pom.xml
@@ -3,7 +3,7 @@
4.0.0
zyplayer-doc-manage
- war
+ jar
zyplayer-doc-manage
定位为所有文档的管理项目,API接口文档、数据库文档、、、、等
diff --git a/zyplayer-doc-ui/wiki-ui/package-lock.json b/zyplayer-doc-ui/wiki-ui/package-lock.json
index 6ac0e20d..aef323d8 100644
--- a/zyplayer-doc-ui/wiki-ui/package-lock.json
+++ b/zyplayer-doc-ui/wiki-ui/package-lock.json
@@ -1880,44 +1880,6 @@
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true
},
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "optional": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "optional": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "optional": true
- },
"debug": {
"version": "4.3.3",
"resolved": "https://registry.npmmirror.com/debug/download/debug-4.3.3.tgz",
@@ -1927,25 +1889,6 @@
"ms": "2.1.2"
}
},
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "optional": true
- },
- "loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "optional": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz",
@@ -1960,28 +1903,6 @@
"requires": {
"minipass": "^3.1.1"
}
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "optional": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "vue-loader-v16": {
- "version": "npm:vue-loader@16.8.3",
- "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
- "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
- "dev": true,
- "optional": true,
- "requires": {
- "chalk": "^4.1.0",
- "hash-sum": "^2.0.0",
- "loader-utils": "^2.0.0"
- }
}
}
},
@@ -11870,6 +11791,87 @@
}
}
},
+ "vue-loader-v16": {
+ "version": "npm:vue-loader@16.8.3",
+ "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
+ "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "hash-sum": "^2.0.0",
+ "loader-utils": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "optional": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "optional": true
+ },
+ "loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
"vue-router": {
"version": "3.5.3",
"resolved": "https://registry.npmmirror.com/vue-router/download/vue-router-3.5.3.tgz",
diff --git a/zyplayer-doc-ui/wiki-ui/src/components/layouts/GlobalLayout.vue b/zyplayer-doc-ui/wiki-ui/src/components/layouts/GlobalLayout.vue
index 1444eb65..74d0ede8 100644
--- a/zyplayer-doc-ui/wiki-ui/src/components/layouts/GlobalLayout.vue
+++ b/zyplayer-doc-ui/wiki-ui/src/components/layouts/GlobalLayout.vue
@@ -50,6 +50,10 @@
@node-click="handleNodeClick"
@node-expand="handleNodeExpand"
@node-drop="handlePageDrop">
+
+
+ {{ node.label }}
+
diff --git a/zyplayer-doc-ui/wiki-ui/src/components/layouts/ShareLayout.vue b/zyplayer-doc-ui/wiki-ui/src/components/layouts/ShareLayout.vue
index 4ced1972..7523497c 100644
--- a/zyplayer-doc-ui/wiki-ui/src/components/layouts/ShareLayout.vue
+++ b/zyplayer-doc-ui/wiki-ui/src/components/layouts/ShareLayout.vue
@@ -12,6 +12,11 @@
:expand-on-click-node="false" :default-expanded-keys="wikiPageExpandedKeys"
node-key="id"
style="background-color: #fafafa;padding-bottom: 30px;">
+
+
+ {{ node.label }}
+
+
diff --git a/zyplayer-doc-wiki/pom.xml b/zyplayer-doc-wiki/pom.xml
index d3ee258e..792830a5 100644
--- a/zyplayer-doc-wiki/pom.xml
+++ b/zyplayer-doc-wiki/pom.xml
@@ -79,6 +79,13 @@
ooxml-schemas
1.4
+
+
+
+ com.atlassian.commonmark
+ commonmark
+ 0.10.0
+
diff --git a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java
index 9ab5f5cb..69b35547 100644
--- a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java
+++ b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/controller/WikiPageController.java
@@ -30,6 +30,7 @@ import com.zyplayer.doc.data.utils.CachePrefix;
import com.zyplayer.doc.data.utils.CacheUtil;
import com.zyplayer.doc.wiki.controller.vo.WikiPageContentVo;
import com.zyplayer.doc.wiki.controller.vo.WikiPageVo;
+import com.zyplayer.doc.wiki.framework.common.MDToText;
import com.zyplayer.doc.wiki.framework.consts.SpaceType;
import com.zyplayer.doc.wiki.service.common.WikiPageAuthService;
import com.zyplayer.doc.wiki.service.git.GitService;
@@ -210,6 +211,10 @@ public class WikiPageController {
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
WikiPageContent pageContent = new WikiPageContent();
pageContent.setContent(content);
+ if(wikiPage.getEditorType()==2)
+ {
+ preview = MDToText.mdToText(preview);
+ }
pageContent.setPreview(preview);
// 数据库是varchar(16000),所以如果不开启es的话搜索超过16000的文章就搜不到~,es存preview不截断
if (StringUtils.isNotBlank(preview) && preview.length() > 16000) {
diff --git a/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/framework/common/MDToText.java b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/framework/common/MDToText.java
new file mode 100644
index 00000000..7e4ca92e
--- /dev/null
+++ b/zyplayer-doc-wiki/src/main/java/com/zyplayer/doc/wiki/framework/common/MDToText.java
@@ -0,0 +1,55 @@
+package com.zyplayer.doc.wiki.framework.common;
+
+import org.commonmark.node.Node;
+import org.commonmark.parser.Parser;
+import org.commonmark.renderer.html.HtmlRenderer;
+
+public class MDToText {
+ /**
+ * 去除html代码中含有的标签
+ * @param htmlStr
+ * @return
+ */
+ private static String delHtmlTags(String htmlStr) {
+ //定义script的正则表达式,去除js可以防止注入
+ String scriptRegex="