一款強大的Vue-markdown編輯器插件

mavonEditor

github項目地址
演示網(wǎng)址

基于Vue的markdown編輯器

example (圖片展示)

PC
PC-GIF

查看更多圖片點擊這里...

Use Setup (開始)

Install mavon-editor (安裝)

$ npm install mavon-editor --save

Use (如何引入)

index.js:

    // 全局注冊
    // import with ES6
    import Vue from 'vue'
    import mavonEditor from 'mavon-editor'
    // markdown-it對象:md.s_markdown, md => mavonEditor實例
    //                 or
    //                 mavonEditor.markdownIt 
    import 'mavon-editor/dist/css/index.css'
    // use
    Vue.use(mavonEditor)
    new Vue({
        'el': '#main',
        data() {
            return { value: '' }
        }
    })

index.html

<div id="main">
    <mavon-editor v-model="value"/>
</div>

更多引入方式點擊這里...

代碼高亮

如不需要hightlight代碼高亮顯示,你應該設置ishljs為false

開啟代碼高亮props

    // ishljs默認為true
    <mavon-editor :ishljs = "true"></mavon-editor>

為優(yōu)化插件體積,從v2.4.2起以下文件將默認使用cdnjs外鏈:

  • highlight.js
  • github-markdown-css
  • katex(v2.4.7)

代碼高亮highlight.js中的語言解析文件和代碼高亮樣式將在使用時按需加載.
github-markdown-csskatex僅會在mounted時加載

Notice:
可選配色方案支持的語言 是從 highlight.js/9.12.0 導出的

不使用cdn舟陆,本地按需加載點擊這里...

圖片上傳

<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);
           })
        }
    }
}

圖片上傳詳情點擊這里...

  • 默認大小樣式為 min-height: 300px , min-width: 300px 可自行覆蓋
  • 基礎z-index: 1500
  • 僅用作展示可以設置props: toolbarsFlag: false , subfield: false, default_open: "preview"

API 文檔

props

name 名稱 type 類型 default 默認值 describe 描述
value String 初始值
language String cn 語言選擇件蚕,暫支持 cn: 中文簡體 , en: 英文 产禾, fr: 法語
scrollStyle Boolean true 開啟滾動條樣式(暫時僅支持chrome)
subfield Boolean true true: 雙欄(編輯預覽同屏)排作, false: 單欄(編輯預覽分屏)
default_open String edit: 默認展示編輯區(qū)域 , preview: 默認展示預覽區(qū)域 , 其他 = edit
placeholder String 開始編輯... 輸入框為空時默認提示文本
editable Boolean true 是否允許編輯
code_style String code-github markdown樣式: 默認github, 可選配色方案
toolbarsFlag Boolean true 工具欄是否顯示
toolbars Object 如下例 工具欄
ishljs Boolean true 代碼高亮(cdn外鏈)
 /*
    默認工具欄按鈕全部開啟, 傳入自定義對象
    例如: {
         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, // 表格
      fullscreen: true, // 全屏編輯
      readmodel: true, // 沉浸式閱讀
      htmlcode: true, // 展示html源碼
      help: true, // 幫助
      /* 1.3.5 */
      undo: true, // 上一步
      redo: true, // 下一步
      trash: true, // 清空
      save: true, // 保存(觸發(fā)events中的save事件)
      /* 1.4.2 */
      navigation: true, // 導航目錄
      /* 2.1.8 */
      alignleft: true, // 左對齊
      aligncenter: true, // 居中
      alignright: true, // 右對齊
      /* 2.2.1 */
      subfield: true, // 單雙欄模式
      preview: true, // 預覽
  }

events

name 方法名 params 參數(shù) describe 描述
change String: value , String: render 編輯區(qū)發(fā)生變化的回調(diào)事件(render: value 經(jīng)過markdown解析后的結果)
save String: value , String: render ctrl + s 的回調(diào)事件(保存按鍵,同樣觸發(fā)該回調(diào))
fullscreen Boolean: status , String: value 切換全屏編輯的回調(diào)事件(boolean: 全屏開啟狀態(tài))
readmodel Boolean: status , String: value 切換沉浸式閱讀的回調(diào)事件(boolean: 閱讀開啟狀態(tài))
htmlcode Boolean: status , String: value 查看html源碼的回調(diào)事件(boolean: 源碼開啟狀態(tài))
subfieldtoggle Boolean: status , String: value 切換單雙欄編輯的回調(diào)事件(boolean: 雙欄開啟狀態(tài))
previewtoggle Boolean: status , String: value 切換預覽編輯的回調(diào)事件(boolean: 預覽開啟狀態(tài))
helptoggle Boolean: status , String: value 查看幫助的回調(diào)事件(boolean: 幫助開啟狀態(tài))
navigationtoggle Boolean: status , String: value 切換導航目錄的回調(diào)事件(boolean: 導航開啟狀態(tài))
imgAdd String: filename, File: imgfile 圖片文件添加回調(diào)事件(filename: 寫在md中的文件名, File: File Object)
imgDel String: filename 圖片文件刪除回調(diào)事件(filename: 寫在md中的文件名)

Dependencies (依賴)

update(更新內(nèi)容)

Collaborators(合作者)

Licence (證書)

mavonEditor is open source and released under the MIT Licence.

Copyright (c) 2017 hinesboy

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亚情,一起剝皮案震驚了整個濱河市妄痪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌楞件,老刑警劉巖衫生,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異土浸,居然都是意外死亡罪针,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門黄伊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泪酱,“玉大人,你說我怎么就攤上這事毅舆∥髀ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵憋活,是天一觀的道長岂津。 經(jīng)常有香客問我,道長悦即,這世上最難降的妖魔是什么吮成? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮辜梳,結果婚禮上粱甫,老公的妹妹穿的比我還像新娘。我一直安慰自己作瞄,他們只是感情好茶宵,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宗挥,像睡著了一般乌庶。 火紅的嫁衣襯著肌膚如雪种蝶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天瞒大,我揣著相機與錄音螃征,去河邊找鬼。 笑死透敌,一個胖子當著我的面吹牛盯滚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酗电,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼魄藕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了顾瞻?” 一聲冷哼從身側響起泼疑,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎荷荤,沒想到半個月后退渗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡蕴纳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年会油,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片古毛。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡翻翩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出稻薇,到底是詐尸還是另有隱情嫂冻,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布塞椎,位于F島的核電站桨仿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏案狠。R本人自食惡果不足惜服傍,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骂铁。 院中可真熱鬧吹零,春花似錦、人聲如沸拉庵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至阱扬,卻和暖如春泣懊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背麻惶。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留信夫,地道東北人窃蹋。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像静稻,于是被迫代替她去往敵國和親警没。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容