diff --git a/package.json b/package.json index ab1b5f4..bd1ddbe 100644 --- a/package.json +++ b/package.json @@ -30,20 +30,18 @@ "admin-template", "management-system" ], - "repository": { - "type": "git", - "url": "https://gitee.com/dataprince/flex-elementplus-ui.git" - }, "dependencies": { "@element-plus/icons-vue": "2.1.0", + "@kangc/v-md-editor": "next", "@vueuse/core": "9.5.0", - "animate.css": "4.1.1", "@zeronejs/utils": "^1.4.0", + "animate.css": "4.1.1", "axios": "^1.6.2", "echarts": "5.4.0", "element-plus": "2.2.27", "file-saver": "2.0.5", "fuse.js": "6.6.2", + "highlight.js": "^11.10.0", "js-cookie": "3.0.1", "jsencrypt": "3.3.1", "nprogress": "0.2.0", diff --git a/src/main.js b/src/main.js index 09d572d..eff5ea9 100644 --- a/src/main.js +++ b/src/main.js @@ -48,6 +48,63 @@ import TreeSelect from '@/components/TreeSelect' // 字典标签组件 import DictTag from '@/components/DictTag' +// v-md-editor 引入 +import VMdEditor from '@kangc/v-md-editor'; +import VMdPreview from '@kangc/v-md-editor/lib/preview'; +import '@kangc/v-md-editor/lib/style/base-editor.css'; +import githubTheme from '@kangc/v-md-editor/lib/theme/github.js'; +import '@kangc/v-md-editor/lib/theme/style/github.css'; +// highlightjs +import hljs from 'highlight.js'; +VMdEditor.use(githubTheme, { + Hljs: hljs +}); +VMdPreview.use(githubTheme, { + Hljs: hljs +}); +// 提示插件 +import createTipPlugin from '@kangc/v-md-editor/lib/plugins/tip/index'; +import '@kangc/v-md-editor/lib/plugins/tip/tip.css'; +VMdEditor.use(createTipPlugin()); +VMdPreview.use(createTipPlugin()); +// Emoji 表情插件 +import createEmojiPlugin from '@kangc/v-md-editor/lib/plugins/emoji/index'; +import '@kangc/v-md-editor/lib/plugins/emoji/emoji.css'; +VMdEditor.use(createEmojiPlugin()); +VMdPreview.use(createEmojiPlugin()); +// Katex 插件 +import createKatexPlugin from '@kangc/v-md-editor/lib/plugins/katex/cdn'; +VMdEditor.use(createKatexPlugin()); +VMdPreview.use(createKatexPlugin()); +// Mermaid 插件 +import createMermaidPlugin from '@kangc/v-md-editor/lib/plugins/mermaid/cdn'; +import '@kangc/v-md-editor/lib/plugins/mermaid/mermaid.css'; +VMdEditor.use(createMermaidPlugin()); +VMdPreview.use(createMermaidPlugin()); +// TodoList 任务列表 +import createTodoListPlugin from '@kangc/v-md-editor/lib/plugins/todo-list/index'; +import '@kangc/v-md-editor/lib/plugins/todo-list/todo-list.css'; +VMdEditor.use(createTodoListPlugin()); +VMdPreview.use(createTodoListPlugin()); +// LineNumber 代码行号 +import createLineNumbertPlugin from '@kangc/v-md-editor/lib/plugins/line-number/index'; +VMdEditor.use(createLineNumbertPlugin()); +VMdPreview.use(createLineNumbertPlugin()); +// Highlight Lines 高亮代码行 +import createHighlightLinesPlugin from '@kangc/v-md-editor/lib/plugins/highlight-lines/index'; +import '@kangc/v-md-editor/lib/plugins/highlight-lines/highlight-lines.css'; +VMdEditor.use(createHighlightLinesPlugin()); +VMdPreview.use(createHighlightLinesPlugin()); +// Copy Code 快捷复制代码 +import createCopyCodePlugin from '@kangc/v-md-editor/lib/plugins/copy-code/index'; +import '@kangc/v-md-editor/lib/plugins/copy-code/copy-code.css'; +VMdEditor.use(createCopyCodePlugin()); +VMdPreview.use(createCopyCodePlugin()); +// Align 内容定位 +import createAlignPlugin from '@kangc/v-md-editor/lib/plugins/align'; +VMdEditor.use(createAlignPlugin()); +VMdPreview.use(createAlignPlugin()); + const app = createApp(App) // 全局方法挂载 @@ -74,6 +131,8 @@ app.use(store) app.use(plugins) app.use(elementIcons) app.component('svg-icon', SvgIcon) +app.use(VMdEditor); +app.use(VMdPreview); directive(app)