vue-markdown编辑器

汪翰墨
2023-12-01

在线示例地址

GitHub :github.com/zhaoxuhui11…

1.简介

一款使用marked和highlight.js开发的一款markdown编辑器,目前只支持在vue项目中使用。

编辑器涵盖了常用的markdown编辑器功能,工具栏可自定义配置,也可进行二次开发。

效果

2.安装

npm i -S vue-meditor

或

直接复制对应的组件到项目目录内 (推荐)
复制代码

3.在项目中使用

import MarkDown from 'vue-meditor'

...
components:{
    MarkDown
}
...

<template>
    <mark-down/>
</template>
复制代码

4.props

名称类型说明默认值
initialValueString编辑器初始化内容
widthNumber编辑器宽度
heightNumber编辑器高度,单位 px600
themeString代码块主题配置,共有四个值,分别为Light、Dark、OneDark、GitHubLight
autoSaveBoolean是否自动保存true
intervalNumber自动保存频率,单位毫秒10000
toolbarsObject工具栏配置,具体功能详见工具栏功能配置表
exportFileNameString导出文件的名称未命名文件

5.events

名称说明
on-save自动保存或者手动保存时触发,返回当前编辑器内原始输入内容和转以后的内容
on-paste-image粘贴图片,返回当前粘贴的file文件

6.工具栏配置

名称说明默认显示
strong粗体
italic斜体
overline删除线
h1标题1
h2标题2
h3标题3
h4标题4
h5标题5
h6标题6
hr分割线
quote引用
ul无序列表
ol有序列表
code代码块
link链接
imageimage
table表格
checked已完成列表
notChecked未完成列表
shift预览
print打印
theme主题切换
fullscreen全屏
exportmd导出为*.md文件
importmd导入本地*.md文件

7.其他说明

关于保存时返回值

    value // 编辑器输入的原始内容
    html // 右侧现实的问转义后的内容
    theme // 保存时的主题名字
复制代码

标题配置

支持配置编辑器名称,提供了name=title的slot插槽
复制代码

工具栏配置

// 例:
const config = {
    print:false // 隐藏掉打印功能
}
<MarkDown :toolbars="config"/>
复制代码

优化代码体积

项目中为了达到代码高亮显示,需要用到highlight.js,
由于highlight.js体积过于庞大,项目中按需加载了部分常用的程序语言,
可根据需求自行配置,配置目录位于/markdown/js/hljs内
复制代码

更新日志

v1.2.0

  1. 优化代码体积,按需加载highlight.js,较少了三分之二的代码体积
  2. 新增图片粘贴功能
  3. 增加图片预览功能
  4. 修复部分bug

v0.9.3

  1. 解决初始化值initialValue无法动态改变的问题
  2. 修改了打包配置

v0.8.0

  1. 新增md文件导出和读取功能
  2. 修改预览部分样式
  3. 修改头部菜单样式

v0.7.0

  1. 修复主题无法更新的问题
  2. 修复文档初始化值无法动态切换的问题
 类似资料: