From 5e994322fe7285feaa0cfe392fa330679defc385 Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Sat, 14 Jan 2023 11:33:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- web/package-lock.json | 140 ++++- web/package.json | 6 +- web/scripts/buildDoc.js | 105 ++++ web/src/assets/icon-font/demo_index.html | 29 +- web/src/assets/icon-font/iconfont.css | 10 +- web/src/assets/icon-font/iconfont.js | 2 +- web/src/assets/icon-font/iconfont.json | 7 + web/src/assets/icon-font/iconfont.ttf | Bin 14468 -> 14772 bytes web/src/assets/icon-font/iconfont.woff | Bin 9008 -> 9216 bytes web/src/assets/icon-font/iconfont.woff2 | Bin 7688 -> 7872 bytes web/src/pages/Doc/Index.vue | 191 ++++++ web/src/pages/Doc/Template.vue | 15 + web/src/pages/Doc/catalogList.js | 75 +++ web/src/pages/Doc/components/CatalogBar.vue | 236 ++++++++ web/src/pages/Doc/components/Header.vue | 161 +++++ web/src/pages/Doc/components/Sidebar.vue | 118 ++++ web/src/pages/Doc/en/batchExecution/index.md | 16 + web/src/pages/Doc/en/batchExecution/index.vue | 25 + web/src/pages/Doc/en/changelog/index.md | 145 +++++ web/src/pages/Doc/en/changelog/index.vue | 88 +++ web/src/pages/Doc/en/command/index.md | 33 + web/src/pages/Doc/en/command/index.vue | 34 ++ web/src/pages/Doc/en/constructor/index.md | 294 +++++++++ web/src/pages/Doc/en/constructor/index.vue | 571 ++++++++++++++++++ web/src/pages/Doc/en/doExport/index.md | 43 ++ web/src/pages/Doc/en/doExport/index.vue | 42 ++ web/src/pages/Doc/en/introduction/index.md | 80 +++ web/src/pages/Doc/en/introduction/index.vue | 81 +++ web/src/pages/Doc/en/keyCommand/index.md | 61 ++ web/src/pages/Doc/en/keyCommand/index.vue | 61 ++ .../pages/Doc/en/keyboardNavigation/index.md | 40 ++ .../pages/Doc/en/keyboardNavigation/index.vue | 40 ++ web/src/pages/Doc/en/miniMap/index.md | 103 ++++ web/src/pages/Doc/en/miniMap/index.vue | 86 +++ web/src/pages/Doc/en/node/index.md | 236 ++++++++ web/src/pages/Doc/en/node/index.vue | 169 ++++++ web/src/pages/Doc/en/render/index.md | 94 +++ web/src/pages/Doc/en/render/index.vue | 77 +++ web/src/pages/Doc/en/select/index.md | 10 + web/src/pages/Doc/en/select/index.vue | 21 + web/src/pages/Doc/en/start/index.md | 98 +++ web/src/pages/Doc/en/start/index.vue | 83 +++ web/src/pages/Doc/en/translate/index.md | 18 + web/src/pages/Doc/en/translate/index.vue | 24 + web/src/pages/Doc/en/utils/index.md | 96 +++ web/src/pages/Doc/en/utils/index.vue | 66 ++ web/src/pages/Doc/en/view/index.md | 57 ++ web/src/pages/Doc/en/view/index.vue | 55 ++ web/src/pages/Doc/i18n.js | 15 + web/src/pages/Doc/routerList.js | 3 + web/src/pages/Doc/zh/batchExecution/index.md | 13 + web/src/pages/Doc/zh/batchExecution/index.vue | 22 + web/src/pages/Doc/zh/changelog/index.md | 145 +++++ web/src/pages/Doc/zh/changelog/index.vue | 88 +++ web/src/pages/Doc/zh/command/index.md | 29 + web/src/pages/Doc/zh/command/index.vue | 30 + web/src/pages/Doc/zh/constructor/index.md | 272 +++++++++ web/src/pages/Doc/zh/constructor/index.vue | 549 +++++++++++++++++ web/src/pages/Doc/zh/doExport/index.md | 40 ++ web/src/pages/Doc/zh/doExport/index.vue | 39 ++ web/src/pages/Doc/zh/introduction/index.md | 67 ++ web/src/pages/Doc/zh/introduction/index.vue | 68 +++ web/src/pages/Doc/zh/keyCommand/index.md | 56 ++ web/src/pages/Doc/zh/keyCommand/index.vue | 56 ++ .../pages/Doc/zh/keyboardNavigation/index.md | 40 ++ .../pages/Doc/zh/keyboardNavigation/index.vue | 40 ++ web/src/pages/Doc/zh/miniMap/index.md | 87 +++ web/src/pages/Doc/zh/miniMap/index.vue | 70 +++ web/src/pages/Doc/zh/node/index.md | 229 +++++++ web/src/pages/Doc/zh/node/index.vue | 162 +++++ web/src/pages/Doc/zh/render/index.md | 85 +++ web/src/pages/Doc/zh/render/index.vue | 66 ++ web/src/pages/Doc/zh/select/index.md | 9 + web/src/pages/Doc/zh/select/index.vue | 20 + web/src/pages/Doc/zh/start/index.md | 82 +++ web/src/pages/Doc/zh/start/index.vue | 66 ++ web/src/pages/Doc/zh/translate/index.md | 18 + web/src/pages/Doc/zh/translate/index.vue | 24 + web/src/pages/Doc/zh/utils/index.md | 91 +++ web/src/pages/Doc/zh/utils/index.vue | 61 ++ web/src/pages/Doc/zh/view/index.md | 55 ++ web/src/pages/Doc/zh/view/index.vue | 53 ++ web/src/router.js | 22 +- 84 files changed, 6803 insertions(+), 13 deletions(-) create mode 100644 web/scripts/buildDoc.js create mode 100644 web/src/pages/Doc/Index.vue create mode 100644 web/src/pages/Doc/Template.vue create mode 100644 web/src/pages/Doc/catalogList.js create mode 100644 web/src/pages/Doc/components/CatalogBar.vue create mode 100644 web/src/pages/Doc/components/Header.vue create mode 100644 web/src/pages/Doc/components/Sidebar.vue create mode 100644 web/src/pages/Doc/en/batchExecution/index.md create mode 100644 web/src/pages/Doc/en/batchExecution/index.vue create mode 100644 web/src/pages/Doc/en/changelog/index.md create mode 100644 web/src/pages/Doc/en/changelog/index.vue create mode 100644 web/src/pages/Doc/en/command/index.md create mode 100644 web/src/pages/Doc/en/command/index.vue create mode 100644 web/src/pages/Doc/en/constructor/index.md create mode 100644 web/src/pages/Doc/en/constructor/index.vue create mode 100644 web/src/pages/Doc/en/doExport/index.md create mode 100644 web/src/pages/Doc/en/doExport/index.vue create mode 100644 web/src/pages/Doc/en/introduction/index.md create mode 100644 web/src/pages/Doc/en/introduction/index.vue create mode 100644 web/src/pages/Doc/en/keyCommand/index.md create mode 100644 web/src/pages/Doc/en/keyCommand/index.vue create mode 100644 web/src/pages/Doc/en/keyboardNavigation/index.md create mode 100644 web/src/pages/Doc/en/keyboardNavigation/index.vue create mode 100644 web/src/pages/Doc/en/miniMap/index.md create mode 100644 web/src/pages/Doc/en/miniMap/index.vue create mode 100644 web/src/pages/Doc/en/node/index.md create mode 100644 web/src/pages/Doc/en/node/index.vue create mode 100644 web/src/pages/Doc/en/render/index.md create mode 100644 web/src/pages/Doc/en/render/index.vue create mode 100644 web/src/pages/Doc/en/select/index.md create mode 100644 web/src/pages/Doc/en/select/index.vue create mode 100644 web/src/pages/Doc/en/start/index.md create mode 100644 web/src/pages/Doc/en/start/index.vue create mode 100644 web/src/pages/Doc/en/translate/index.md create mode 100644 web/src/pages/Doc/en/translate/index.vue create mode 100644 web/src/pages/Doc/en/utils/index.md create mode 100644 web/src/pages/Doc/en/utils/index.vue create mode 100644 web/src/pages/Doc/en/view/index.md create mode 100644 web/src/pages/Doc/en/view/index.vue create mode 100644 web/src/pages/Doc/i18n.js create mode 100644 web/src/pages/Doc/routerList.js create mode 100644 web/src/pages/Doc/zh/batchExecution/index.md create mode 100644 web/src/pages/Doc/zh/batchExecution/index.vue create mode 100644 web/src/pages/Doc/zh/changelog/index.md create mode 100644 web/src/pages/Doc/zh/changelog/index.vue create mode 100644 web/src/pages/Doc/zh/command/index.md create mode 100644 web/src/pages/Doc/zh/command/index.vue create mode 100644 web/src/pages/Doc/zh/constructor/index.md create mode 100644 web/src/pages/Doc/zh/constructor/index.vue create mode 100644 web/src/pages/Doc/zh/doExport/index.md create mode 100644 web/src/pages/Doc/zh/doExport/index.vue create mode 100644 web/src/pages/Doc/zh/introduction/index.md create mode 100644 web/src/pages/Doc/zh/introduction/index.vue create mode 100644 web/src/pages/Doc/zh/keyCommand/index.md create mode 100644 web/src/pages/Doc/zh/keyCommand/index.vue create mode 100644 web/src/pages/Doc/zh/keyboardNavigation/index.md create mode 100644 web/src/pages/Doc/zh/keyboardNavigation/index.vue create mode 100644 web/src/pages/Doc/zh/miniMap/index.md create mode 100644 web/src/pages/Doc/zh/miniMap/index.vue create mode 100644 web/src/pages/Doc/zh/node/index.md create mode 100644 web/src/pages/Doc/zh/node/index.vue create mode 100644 web/src/pages/Doc/zh/render/index.md create mode 100644 web/src/pages/Doc/zh/render/index.vue create mode 100644 web/src/pages/Doc/zh/select/index.md create mode 100644 web/src/pages/Doc/zh/select/index.vue create mode 100644 web/src/pages/Doc/zh/start/index.md create mode 100644 web/src/pages/Doc/zh/start/index.vue create mode 100644 web/src/pages/Doc/zh/translate/index.md create mode 100644 web/src/pages/Doc/zh/translate/index.vue create mode 100644 web/src/pages/Doc/zh/utils/index.md create mode 100644 web/src/pages/Doc/zh/utils/index.vue create mode 100644 web/src/pages/Doc/zh/view/index.md create mode 100644 web/src/pages/Doc/zh/view/index.vue diff --git a/index.html b/index.html index ae984619..5cb0d6d8 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -
' +
+ hljs.highlight(lang, str, true).value +
+ ''
+ )
+ } catch (__) {}
+ }
+
+ return (
+ '' + md.utils.escapeHtml(str) + ''
+ )
+ }
+}).use(require('markdown-it-checkbox'))
+
+// 文档语言种类
+let langList = ['zh', 'en']
+
+// 开始转换
+const transform = (dir, routerList) => {
+ let dirs = fs.readdirSync(dir)
+ dirs.forEach(item => {
+ let cur = path.join(dir, item)
+ if (fs.statSync(cur).isDirectory()) {
+ compilerDir(cur, item, routerList)
+ }
+ })
+}
+
+// 编译某种语言下的文档
+const compilerDir = (dir, dirName, routerList) => {
+ let files = fs.readdirSync(dir)
+ files.forEach(file => {
+ if (file.endsWith('.md')) {
+ compilerFile(dir, file, dirName, routerList)
+ }
+ })
+}
+
+// 编译具体的文档
+const compilerFile = (dir, file, dirName, routerList) => {
+ let filePath = path.join(dir, file)
+ let destPath = path.join(dir, './index.vue')
+ let templatePath = path.join(__dirname, '../src/pages/Doc/Template.vue')
+ let content = fs.readFileSync(filePath, 'utf-8')
+ let title = /(^|\n\r)\s*#\s+([^\n\r]+)/g.exec(content)
+ if (title && title[2]) {
+ addRouter(dirName, routerList, title[2])
+ }
+ let result = md.render(content)
+ let template = fs.readFileSync(templatePath, 'utf-8')
+ let doc = template.replace('$$$$', result)
+ fs.writeFileSync(destPath, doc)
+}
+
+// 收集文档路由
+const addRouter = (item, routerList, title) => {
+ routerList.push({
+ path: item,
+ title
+ })
+}
+
+// 创建路由
+const createRouter = () => {
+ let content = `
+ export default ${JSON.stringify(
+ routerTypeList.map(item => {
+ return {
+ lang: item.lang,
+ children: item.routerList
+ }
+ })
+ )}
+ `
+ fs.writeFileSync(
+ path.join(__dirname, '../src/pages/Doc/routerList.js'),
+ content
+ )
+}
+
+// 创建目录列表
+const createCatalogList = () => {}
+
+// 开始编译
+let routerTypeList = []
+langList.forEach(lang => {
+ let dir = path.join(__dirname, '../src/pages/Doc/', `./${lang}/`)
+ let routerList = []
+ transform(dir, routerList)
+ routerTypeList.push({
+ lang,
+ routerList
+ })
+})
+// 创建路由
+createRouter()
+console.log('编译完成')
diff --git a/web/src/assets/icon-font/demo_index.html b/web/src/assets/icon-font/demo_index.html
index 90c0ab8d..4b949343 100644
--- a/web/src/assets/icon-font/demo_index.html
+++ b/web/src/assets/icon-font/demo_index.html
@@ -54,6 +54,12 @@
@font-face {
font-family: 'iconfont';
- src: url('iconfont.woff2?t=1668512547595') format('woff2'),
- url('iconfont.woff?t=1668512547595') format('woff'),
- url('iconfont.ttf?t=1668512547595') format('truetype');
+ src: url('iconfont.woff2?t=1673600274529') format('woff2'),
+ url('iconfont.woff?t=1673600274529') format('woff'),
+ url('iconfont.ttf?t=1673600274529') format('truetype');
}