mavonEditor的使用

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mavonEditor的使用相关的知识,希望对你有一定的参考价值。

目录

概述

使用步骤

API

代码高亮

实例

图片上传


概述

基于Vue的markdown编辑器。

使用步骤

第一步:下载安装

通过如下命令安装

npm install mavon-editor --save

第二步:在vue中引入

官网指导引入如下:

使用vue脚手架创建vue项目人,然后引入该插件

浏览器查看效果

API

属性

name 名称type 类型default 默认值describe 描述
valueString 初始值
languageStringzh-CN语言选择,暂支持 zh-CN: 简体中文, zh-TW: 正体中文 , en: 英文 , fr: 法语, pt-BR: 葡萄牙语, ru: 俄语, de: 德语, ja: 日语
fontSizeString14px编辑区域文字大小
scrollStyleBooleantrue开启滚动条样式(暂时仅支持chrome)
boxShadowBooleantrue开启边框阴影
boxShadowStyleString0 2px 12px 0 rgba(0, 0, 0, 0.1)边框阴影样式
transitionBooleantrue是否开启过渡动画
toolbarsBackgroundString#ffffff工具栏背景颜色
previewBackgroundString#fbfbfb预览框背景颜色
subfieldBooleantruetrue: 双栏(编辑预览同屏), false: 单栏(编辑预览分屏)
defaultOpenString edit: 默认展示编辑区域 , preview: 默认展示预览区域 , 其他 = edit
placeholderString开始编辑...输入框为空时默认提示文本
editableBooleantrue是否允许编辑
codeStyleStringcode-githubmarkdown样式: 默认github, 可选配色方案
toolbarsFlagBooleantrue工具栏是否显示
navigationBooleanfalse默认展示目录
shortCutBooleantrue是否启用快捷键
autofocusBooleantrue自动聚焦到文本框
ishljsBooleantrue代码高亮
imageFilterfunctionnull图片过滤函数,参数为一个File Object,要求返回一个Boolean, true表示文件合法,false表示文件不合法
imageClickfunctionnull图片点击事件,默认为预览,可覆盖
tabSizeNumber\\ttab转化为几个空格,默认为\\t
xssOptionsObjectnullxss规则配置,参考 https://github.com/leizongmin/js-xss
toolbarsObject如下例工具栏

事件

name 方法名params 参数describe 描述
changeString: value , String: render编辑区发生变化的回调事件(render: value 经过markdown解析后的结果)
saveString: value , String: renderctrl + s 的回调事件(保存按键,同样触发该回调)
fullScreenBoolean: status , String: value切换全屏编辑的回调事件(boolean: 全屏开启状态)
readModelBoolean: status , String: value切换沉浸式阅读的回调事件(boolean: 阅读开启状态)
htmlCodeBoolean: status , String: value查看html源码的回调事件(boolean: 源码开启状态)
subfieldToggleBoolean: status , String: value切换单双栏编辑的回调事件(boolean: 双栏开启状态)
previewToggleBoolean: status , String: value切换预览编辑的回调事件(boolean: 预览开启状态)
helpToggleBoolean: status , String: value查看帮助的回调事件(boolean: 帮助开启状态)
navigationToggleBoolean: status , String: value切换导航目录的回调事件(boolean: 导航开启状态)
imgAddString: filename, File: imgfile图片文件添加回调事件(filename: 写在md中的文件名, File: File Object)
imgDelString: filename图片文件删除回调事件(filename: 写在md中的文件名)

代码高亮

实例

添加一个提交按钮,并将内容打印到控制台

<template>
  <div id="app">
    <!-- ishljs默认为true -->
    <mavon-editor v-model="value" :ishljs="true"/>
    <button @click="submit">提交</button>
  </div>
</template>

<script>
export default 
    data () 
      return 
        value: 'mavon-editor'
      
    ,
    methods: 
      submit: function () 
        console.log(this.value)
      
    
  
</script>

<style>

</style>

注意打印的是markdown语法的文本

图片上传

参考官网

<template>
    <mavon-editor ref=md @imgAdd="$imgAdd" @imgDel="$imgDel"></mavon-editor>
</template>
exports default 
    methods: 
        // 绑定@imgAdd event
        $imgAdd(pos, $file)
            // 第一步.将图片上传到服务器.
           var formdata = new FormData();
           formdata.append('image', $file);
           axios(
               url: 'server url',
               method: 'post',
               data: formdata,
               headers:  'Content-Type': 'multipart/form-data' ,
           ).then((url) => 
               // 第二步.将返回的url替换到文本原位置![...](0) -> ![...](url)
               /**
               * $vm 指为mavonEditor实例,可以通过如下两种方式获取
               * 1. 通过引入对象获取: `import mavonEditor from ...` 等方式引入后,`$vm`为`mavonEditor`
               * 2. 通过$refs获取: html声明ref : `<mavon-editor ref=md ></mavon-editor>,`$vm`为 `this.$refs.md`
               */
               $vm.$img2Url(pos, url);
           )
        
    

 

以上是关于mavonEditor的使用的主要内容,如果未能解决你的问题,请参考以下文章

word中中文保持正体,英文用斜体的方法.

mavonEditor的使用

利用 JavaScript 快速切换正体中文和简体中文

Word 公式中斜体如何批量改成正体?

word 公式改斜体字

数学公式间距空格的应用