# potmot-vue-editor **Repository Path**: run-around---whats-wrong/potmot-vue-editor ## Basic Information - **Project Name**: potmot-vue-editor - **Description**: 一个基于vue3、ts、marked、prismjs的简单markdown编辑器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2023-02-07 - **Last Updated**: 2023-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # potmot-vue-editor 一个基于 vue3、markdown-it 的 ~~简陋~~ markdown 编辑器,在 vue3 环境下开箱即用 这个项目中的 markdown-it 解析插件与渲染为虚拟 dom 的部分直接来源于 [yank note](https://github.com/purocean/yn) 这个项目,十分感谢 [purocean](https://github.com/purocean) 能够将这个项目开源以供学习 ## 介绍 > 当前版本 v0.16 2023/7/31 目前本 Editor 项目包含 MarkdownEditor, MarkdownPreview, MarkdownOutline 三个核心组件,Editor 依赖于 Preview, Outline ### 使用 npm 引入 ``` npm install potmot-vue-editor@0.16.8 ``` main.js 中引用 ```javascript import editor from 'potmot-vue-editor'; import 'potmot-vue-editor/dist/style.css'; app.use(editor); // 应用主题样式 import 'potmot-vue-editor/src/assets/editor-theme/default.css'; import 'potmot-vue-editor/src/assets/markdown-theme/default.css'; import 'potmot-vue-editor/src/assets/code-theme/default.css'; ``` 直接 v-model 绑上即用 ```html ``` ### 1. MarkdownEditor 编辑器 基于 textarea 实现 提供了查找、替换、预览、插入和快速键功能 ```html ``` **props 参数说明** | 参数 | 类型 | 说明 | 必须 | |---------------------|---------------------|---------|---------------| | v-model | Ref | 绑定输入字符串 | 是 | | placeholder | String | 占位 | 否,默认值 "" | | width | String | 宽度 | 否,默认值 "960px" | | height | String | 高度 | 否,默认值 "540px" | | placeholder | String | 占位字符串 | 否,默认值 "" | | disabled | Boolean | 禁用 | 开启后将无法进行编辑 | | ShortcutKeys | ShortcutKey[] | 自定义快捷键 | 否,默认值 [] | | startWithFullScreen | Boolean | 是否以全屏启动 | 否,默认值 false | ### 2. MarkdownPreview 预览 提供了基于 markdown-it 的 markdown 与 html 展示,同样直接传入参数即可使用 ```html ``` 目前引入 markdown-it 插件如下 ``` "markdown-it-abbr": "^1.0.4" *[] 简称 "markdown-it-attributes": "^1.1.1" {} 属性 "markdown-it-container": "^3.0.0" :::盒型容器 "markdown-it-emoji": "^2.0.2" emoji 表情 "markdown-it-mark": "^3.0.1" mark高亮 "markdown-it-multimd-table": "^4.2.2" 复杂表格 "markdown-it-sub": "^1.0.0" ~下标~ "markdown-it-sup": "^1.0.0" ^上标^ "markdown-it-task-lists": "^2.1.1" - [x] 任务列表 ``` 因为 ts 和 虚拟dom 渲染 及 版本 等问题重新实现的 markdown-it 插件与额外渲染逻辑与额外插件如下 ``` mermaid: 10.3.0 ```mermaid ``` 绘图 MarkdownItKatex => katex: 0.16.8 $a$ 数学符号 MarkdownItFootnote ^[] [^ ] 脚标 MarkdownItToc [toc] 标题大纲 MarkdownItHideText ===涂黑隐藏文本=== ``` **props 参数说明** | 参数 | 类型 | 说明 | 必须 | |--------------|---------------------------------|----------------------------|------------| | markdownText | String | 传入的markdown文本,将被解析成html | 是 | | suspend | Boolean | 暂停渲染 | 否,默认 false | #### 代码支持 code 代码块支持复制、标明行号 ### 3. Outline 大纲 在目标中寻找标题元素以生成大纲的组件 ```html ``` **props 参数说明** | 参数 | 类型 | 说明 | 必须 | |--------------|-------------|-------------|--------------------------------------------------------| | target | HTMLElement | 寻找的目标元素 | 否,默认值 document.documentElement | | suspend | Boolean | 暂停渲染 | 否,默认 false |