给大家推荐一款好用的 markdown 编辑器插件

2017-04-19 15:36:29 +08:00
 zhuhongyu

mavonEditor

基于 Vue 的 markdown 编辑器

example (图片展示)

PC

移动

   

Use Setup (开始)

Install mavon-editor (安装)

$ npm install mavon-editor --save

package.json

"mavon-editor": "^1.3.5"

Use (如何引入)

    // 方法一
    // import with ES6
    import Vue from 'vue'
    import mavonEditor from 'mavon-editor'

    // require with Webpack/Node.js
    var Vue = require('vue')
    var mavonEditor = require('mavon-editor')

    // use
    Vue.use(mavonEditor)
    // 方法二
    // or use with component(ES6)
    import { mavonEditor } from 'mavon-editor'

    export default {
      components: {
        mavonEditor
      }
    }

html

    <!-- 使用双向绑定修饰符 -->
    <mavonEditor v-model="value"/>
    <!-- 当 value 发生改变 , 触发 change 事件 -->
    <mavonEditor :value="value" @change="function"/>

API 文档

props

| name 名称 | type 类型 | default 默认值 | describe 描述 | | -------- | :---------: | :------------: | ------- | | value | String | | 初始值 | | scrollStyle| Boolean | true | 开启滚动条样式(暂时仅支持 chrome) | | subfield | Boolean | true | 默认开启双栏编辑(单栏模式 TAB 键主动触发 markdown 渲染) | | toolbars | Object | 如下 | 工具栏 |

 /*
    默认工具栏按钮全部开启, 传入自定义对象
    例如: {
         bold: true, // 粗体
         italic: true,// 斜体
         header: true,// 标题
    }
    此时, 仅仅显示此三个功能键
 */
toolbars: {
      bold: true, // 粗体
      italic: true, // 斜体
      header: true, // 标题
      underline: true, // 下划线
      strikethrough: true, // 中划线
      mark: true, // 标记
      superscript: true, // 上角标
      subscript: true, // 下角标
      quote: true, // 引用
      ol: true, // 有序列表
      ul: true, // 无序列表
      link: true, // 链接
      imagelink: true, // 图片链接
      code: true, // code
      table: true, // 表格
      subfield: true, // 是否需要分栏
      fullscreen: true, // 全屏编辑
      readmodel: true, // 沉浸式阅读
      htmlcode: true, // 展示 html 源码
      help: true, // 帮助
      /* 新增 */
      undo: true, // 上一步
      redo: true, // 下一步
      trash: true, // 清空
      save: true // 保存(触发 events 中的 save 事件)
  }

events

| name 方法名 | params 参数 | describe 描述 | | -------- | :---------: | ------- | | change | String: value , String: reder | 编辑区发生变化的回调事件(render: value 经过 markdown 解析后的结果) | | save | String: value , String: reder | ctrl + s 的回调事件(后续添加保存按键,同样触发该回调) | | fullscreen | Boolean: status , String value | 切换全屏编辑的回调事件(boolean: 全屏开启状态) | | readmodel | Boolean: status , String value | 切换沉浸式阅读的回调事件(boolean: 阅读开启状态) | | htmlcode | Boolean: status , String value |查看 html 源码的回调事件(boolean: 源码开启状态) | | subfieldtoggle | Boolean: status , String value | 切换单双栏编辑的回调事件(boolean: 双栏开启状态) | | helptoggle | Boolean: status , String value | 查看帮助的回调事件(boolean: 帮助开启状态) |

contact(联系我)

QQ:

EMAIL:

欢迎咨询与建议

6177 次点击
所在节点    Vue.js
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/355907

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX