vue中使用markdown編輯器

開篇

??不知道各位是否對markdown熟悉逐样。它算是一門標記語言泳桦,但是語法簡單恬砂,卻本領強大。例如本篇博客蓬痒,便是用markdown語法編寫,然后根據(jù)不同的環(huán)境及依賴生成各種我想要的樣式漆羔,比如直接生成本篇博客樣式或者使用一些依賴或者工具賦之更加美觀的樣式梧奢。同樣,一般在CMS后臺管理系統(tǒng)中演痒,也經(jīng)常會用到編輯器來編寫一些文章材料亲轨。其中最常用的還是markdown編輯器富文本編輯器

效果

markdown示例.png

Markdown 介紹

1. 什么是Markdown
??首先鸟顺,各位框架玩家一定不會陌生惦蚊,因為無論是在各類框架下還是開源項目中,都會有一個.md的文件讯嫂,該文件一般是項目說明文件蹦锋,不僅語法簡潔,而且所生成的“頁面”也要比普通標記語言更加整潔明了欧芽。那么它到底是什么呢莉掂?
??Markdown是一種可以使用普通文本編輯器編寫的標記語言,通過簡單的標記語法千扔,它可以使普通文本內(nèi)容具有一定的格式憎妙。
??Markdown具有一系列衍生版本,用于擴展Markdown的功能(如表格曲楚、腳注厘唾、內(nèi)嵌HTML等等),這些功能原初的Markdown尚不具備龙誊,它們能讓Markdown轉換成更多的格式抚垃,例如LaTeX,Docbook。Markdown增強版中比較有名的有Markdown Extra讯柔、MultiMarkdown抡蛙、 Maruku等。這些衍生版本要么基于工具魂迄,如Pandoc粗截;要么基于網(wǎng)站,如GitHub和Wikipedia捣炬,在語法上基本兼容熊昌,但在一些語法和渲染效果上有改動。

2. Markdown用途
??Markdown的語法簡潔明了湿酸、學習容易婿屹,而且功能比純文本更強,因此有很多人用它寫博客推溃。世界上最流行的博客平臺WordPress和大型CMS如Joomla昂利、Drupal都能很好的支持Markdown。完全采用Markdown編輯器的博客平臺有Ghost和Typecho铁坎。
??用于編寫說明文檔蜂奸,并且以“README.md”的文件名保存在軟件的目錄下面。
除此之外硬萍,由于我們有了RStudio這樣的神級編輯器扩所,我們還可以快速將Markdown轉化為演講PPT、Word產(chǎn)品文檔朴乖、LaTex論文甚至是用非常少量的代碼完成最小可用原型祖屏。在數(shù)據(jù)科學領域,Markdown已經(jīng)廣泛使用买羞,極大地推進了動態(tài)可重復性研究的歷史進程袁勺。

vue 中如何使用

注: 本示例選用的是mavon-editor
很明顯,所有組件逃不過三步走原則:

  1. 安裝
  2. 引入哩都、配置
  3. 使用

1. 安裝

安裝mavon-editor:npm install mavon-editor --save

2. 引入魁兼、配置

在要使用markdown編輯器的組件內(nèi)操作:

<script>
// 導入組件 及 組件樣式
import { mavonEditor } from 'mavon-editor'
import 'mavon-editor/dist/css/index.css'
</script>

3. 使用

注意:

  1. 綁定model
  2. 實時改變:將markdown實時轉化為html

在要使用markdown編輯器的組件內(nèi)操作:

<template>
    <div>
        <mavon-editor 
            v-model="content" 
            ref="md" 
            @change="change" 
            style="min-height: 600px"
        />

        <button @click="submit">提交</button>
    </div>
</template>



<script>
export default {
    // 注冊
    components: {
        mavonEditor,
    },
    data() {
        return {
            content:'', // 輸入的markdown
            html:'',    // 及時轉的html
        }
    },
    methods: {
        // 所有操作都會被解析重新渲染
        change(value, render){
            // render 為 markdown 解析后的結果[html]
            this.html = render;
        },
        // 提交
        submit(){
            console.log(this.content);
            console.log(this.html);
        }
    },
    mounted() {

    }
}
</script>

問題

那么,在常用的操作里面漠嵌,例如各級標題咐汞、表格、加粗加斜儒鹿、標記化撕、圖文……圖?此時约炎,我們發(fā)現(xiàn)一個問題:如何添加本地圖片呢植阴?

Q

在某些IDE里面使用markdown時蟹瘾,可以自由的插入本地圖片,那我們在頁面中使用此編譯器組件如何添加圖片呢掠手?

A

監(jiān)聽憾朴。沒錯,就是監(jiān)聽輸入框變化喷鸽。如果監(jiān)聽到有圖片插入众雷,那么我們可以先將圖片上傳至服務器,然后獲取到線上url做祝,拿到該url再插入到該位置砾省。那么具體過程就很明顯了:

  1. 選擇本地圖片,插入
  2. 監(jiān)聽到有圖片插入
  3. 將該圖上傳至服務器
  4. 獲取到服務器返回的圖片url
  5. 將該線上url冬天插入到輸入框中

代碼如下

<template>
    <div class="markdown">
        <div class="container">
            <mavon-editor v-model="content" ref="md" @imgAdd="$imgAdd" @change="change" style="min-height: 600px"/>
            <button @click="submit">提交</button>
        </div>
    </div>
</template>

<script>
    import { mavonEditor } from 'mavon-editor'
    import 'mavon-editor/dist/css/index.css'

    export default {
        name: "",
        props: [],
        components: {
            mavonEditor,
        },
        data() {
            return {
                content:'',
                html:'',
                configs: {}
            }
        },
        methods: {
            // 將圖片上傳到服務器混槐,返回地址替換到md中
            $imgAdd(pos, $file){
                let formdata = new FormData();

                this.$upload.post('/上傳接口地址', formdata).then(res => {
                    console.log(res.data);
                    this.$refs.md.$img2Url(pos, res.data);
                }).catch(err => {
                    console.log(err)
                })
            },
            // 所有操作都會被解析重新渲染
            change(value, render){
                // render 為 markdown 解析后的結果[html]
                this.html = render;
            },
            // 提交
            submit(){
                console.log(this.content);
                console.log(this.html);
                this.$message.success('提交成功编兄,已打印至控制臺!');
            }
        },
        mounted() {

        }
    }
</script>

??到這里声登,vue中使用markdown編輯器教程結束狠鸳。那么更為大眾廣泛使用的富文本編輯器如何使用呢?且看下回~

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悯嗓,一起剝皮案震驚了整個濱河市碰煌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绅作,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛾派,死亡現(xiàn)場離奇詭異俄认,居然都是意外死亡,警方通過查閱死者的電腦和手機洪乍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門眯杏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人壳澳,你說我怎么就攤上這事岂贩。” “怎么了巷波?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵萎津,是天一觀的道長。 經(jīng)常有香客問我抹镊,道長锉屈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任垮耳,我火速辦了婚禮颈渊,結果婚禮上遂黍,老公的妹妹穿的比我還像新娘。我一直安慰自己俊嗽,他們只是感情好雾家,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绍豁,像睡著了一般芯咧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妹田,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天唬党,我揣著相機與錄音,去河邊找鬼鬼佣。 笑死驶拱,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的晶衷。 我是一名探鬼主播蓝纲,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晌纫!你這毒婦竟也來了税迷?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤锹漱,失蹤者是張志新(化名)和其女友劉穎箭养,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哥牍,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡毕泌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗅辣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撼泛。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖澡谭,靈堂內(nèi)的尸體忽然破棺而出愿题,到底是詐尸還是另有隱情,我是刑警寧澤蛙奖,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布潘酗,位于F島的核電站,受9級特大地震影響雁仲,放射性物質發(fā)生泄漏崎脉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一伯顶、第九天 我趴在偏房一處隱蔽的房頂上張望囚灼。 院中可真熱鬧骆膝,春花似錦、人聲如沸灶体。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春佛呻,著一層夾襖步出監(jiān)牢的瞬間状土,已是汗流浹背汽抚。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工易结, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瓢宦。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓碎连,卻偏偏與公主長得像,于是被迫代替她去往敵國和親驮履。 傳聞我的和親對象是個殘疾皇子鱼辙,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

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

  • atom編輯器的使用和markdown基本語法 atom介紹 atom是什么 Atom是github內(nèi)部的編輯軟件...
    Haoqian閱讀 35,530評論 3 39
  • Markdown概述 宗旨 Markdown 的目標是實現(xiàn)「易讀易寫」。Markdown 的特點就是玫镐,讓寫作變得更...
    心疼你萌萌噠閱讀 7,648評論 1 24
  • 關于Markdown 一整個學期下來倒戏,我覺得讓我收獲最大之一的是學會markdown語言。我們平常都是使用Word...
    Dacade閱讀 934評論 0 2
  • 你可以使用任何文本編輯器來寫 Markdown 文件恐似。但我建議使用一個專門為這種語法設計的編輯器杜跷。這篇文章中所討論...
    誰說我是小小云閱讀 9,847評論 0 8
  • 在庫不齊,天是藍的矫夷,沙漠是黃的葱椭,這里除了這兩種顏色看不到其他色彩… 在這里,遠離城市的喧囂口四,遠離市區(qū)的躁動,遠離生...
    Starcircle閱讀 748評論 3 4