0.16.9 • Published 2 years ago

potmot-vue-editor v0.16.9

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

potmot-vue-editor

一个基于 vue3、markdown-it 的 简陋 markdown 编辑器,在 vue3 环境下开箱即用

这个项目中的 markdown-it 解析插件与渲染为虚拟 dom 的部分直接来源于 yank note 这个项目,十分感谢 purocean 能够将这个项目开源以供学习

介绍

当前版本 v0.16 2023/7/31

目前本 Editor 项目包含 MarkdownEditor, MarkdownPreview, MarkdownOutline 三个核心组件,Editor 依赖于 Preview, Outline

使用

npm 引入

npm install potmot-vue-editor@0.16.9

main.js 中引用

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 绑上即用

<MarkdownEditor v-model="text"></MarkdownEditor>

1. MarkdownEditor 编辑器

基于 textarea 实现

提供了查找、替换、预览、插入和快速键功能

<MarkdownEditor v-model="text" :shortcut-keys="ShortcutKeys"/>

props 参数说明

参数类型说明必须
v-modelRef绑定输入字符串
placeholderString占位否,默认值 ""
widthString宽度否,默认值 "960px"
heightString高度否,默认值 "540px"
placeholderString占位字符串否,默认值 ""
disabledBoolean禁用开启后将无法进行编辑
ShortcutKeysShortcutKey[]自定义快捷键否,默认值 []
startWithFullScreenBoolean是否以全屏启动否,默认值 false

2. MarkdownPreview 预览

提供了基于 markdown-it 的 markdown 与 html 展示,同样直接传入参数即可使用

<MarkdownPreview :markdown-text="text"></MarkdownPreview>

目前引入 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 参数说明

参数类型说明必须
markdownTextString传入的markdown文本,将被解析成html
suspendBoolean暂停渲染否,默认 false

代码支持

code 代码块支持复制、标明行号

3. Outline 大纲

在目标中寻找标题元素以生成大纲的组件

<MarkdownOutline :target="el"></MarkdownOutline>

props 参数说明

参数类型说明必须
targetHTMLElement寻找的目标元素否,默认值 document.documentElement
suspendBoolean暂停渲染否,默认 false
0.16.9

2 years ago

0.15.4

2 years ago

0.15.5

2 years ago

0.11.0

2 years ago

0.11.1

2 years ago

0.13.0

2 years ago

0.11.2

2 years ago

0.13.1

2 years ago

0.11.3

2 years ago

0.15.0

2 years ago

0.11.4

2 years ago

0.15.1

2 years ago

0.11.5

2 years ago

0.15.2

2 years ago

0.11.6

2 years ago

0.15.3

2 years ago

0.9.0

2 years ago

0.9.2

2 years ago

0.9.1

2 years ago

0.9.8

2 years ago

0.9.7

2 years ago

0.9.4

2 years ago

0.9.3

2 years ago

0.9.6

2 years ago

0.9.5

2 years ago

0.16.3

2 years ago

0.16.4

2 years ago

0.16.5

2 years ago

0.16.6

2 years ago

0.16.7

2 years ago

0.16.8

2 years ago

0.10.1

2 years ago

0.12.0

2 years ago

0.10.2

2 years ago

0.12.1

2 years ago

0.10.3

2 years ago

0.14.0

2 years ago

0.12.2

2 years ago

0.10.4

2 years ago

0.12.3

2 years ago

0.16.0

2 years ago

0.16.1

2 years ago

0.16.2

2 years ago

0.8.12

2 years ago

0.8.14

2 years ago

0.8.13

2 years ago

0.10.0

2 years ago

0.8.9

2 years ago

0.8.8

2 years ago

0.8.5

2 years ago

0.7.6

2 years ago

0.8.4

2 years ago

0.7.5

2 years ago

0.8.7

2 years ago

0.8.6

2 years ago

0.8.11

2 years ago

0.8.10

2 years ago

0.8.1

2 years ago

0.7.2

2 years ago

0.8.0

2 years ago

0.8.3

2 years ago

0.7.4

2 years ago

0.8.2

2 years ago

0.7.3

2 years ago

0.7.1

2 years ago

0.7.0

2 years ago

0.6.1

2 years ago

0.6.0

2 years ago

0.5.19

2 years ago

0.5.18

2 years ago

0.5.17

2 years ago

0.5.16

2 years ago

0.5.15

2 years ago

0.5.14

2 years ago

0.5.13

2 years ago

0.5.12

2 years ago

0.5.11

2 years ago

0.5.10

2 years ago

0.5.9

2 years ago

0.5.8

2 years ago

0.5.7

2 years ago

0.5.6

2 years ago

0.5.5

2 years ago

0.5.4

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.5.0

2 years ago