0.16.9 • Published 7 months ago

potmot-vue-editor v0.16.9

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months 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

7 months ago

0.15.4

9 months ago

0.15.5

9 months ago

0.11.0

10 months ago

0.11.1

10 months ago

0.13.0

10 months ago

0.11.2

10 months ago

0.13.1

10 months ago

0.11.3

10 months ago

0.15.0

9 months ago

0.11.4

10 months ago

0.15.1

9 months ago

0.11.5

10 months ago

0.15.2

9 months ago

0.11.6

10 months ago

0.15.3

9 months ago

0.9.0

11 months ago

0.9.2

11 months ago

0.9.1

11 months ago

0.9.8

10 months ago

0.9.7

11 months ago

0.9.4

11 months ago

0.9.3

11 months ago

0.9.6

11 months ago

0.9.5

11 months ago

0.16.3

9 months ago

0.16.4

9 months ago

0.16.5

9 months ago

0.16.6

9 months ago

0.16.7

9 months ago

0.16.8

8 months ago

0.10.1

10 months ago

0.12.0

10 months ago

0.10.2

10 months ago

0.12.1

10 months ago

0.10.3

10 months ago

0.14.0

10 months ago

0.12.2

10 months ago

0.10.4

10 months ago

0.12.3

10 months ago

0.16.0

9 months ago

0.16.1

9 months ago

0.16.2

9 months ago

0.8.12

12 months ago

0.8.14

11 months ago

0.8.13

11 months ago

0.10.0

10 months ago

0.8.9

12 months ago

0.8.8

12 months ago

0.8.5

12 months ago

0.7.6

1 year ago

0.8.4

12 months ago

0.7.5

1 year ago

0.8.7

12 months ago

0.8.6

12 months ago

0.8.11

12 months ago

0.8.10

12 months ago

0.8.1

12 months ago

0.7.2

1 year ago

0.8.0

12 months ago

0.8.3

12 months ago

0.7.4

1 year ago

0.8.2

12 months ago

0.7.3

1 year ago

0.7.1

1 year ago

0.7.0

1 year ago

0.6.1

1 year ago

0.6.0

1 year ago

0.5.19

1 year ago

0.5.18

1 year ago

0.5.17

1 year ago

0.5.16

1 year ago

0.5.15

1 year ago

0.5.14

1 year ago

0.5.13

1 year ago

0.5.12

1 year ago

0.5.11

1 year ago

0.5.10

1 year ago

0.5.9

1 year ago

0.5.8

1 year ago

0.5.7

1 year ago

0.5.6

1 year ago

0.5.5

1 year ago

0.5.4

1 year ago

0.5.2

1 year ago

0.5.1

1 year ago

0.5.0

1 year ago