1、md文件的存儲javascript
由於是vue-cli項目,因此使用的是mavonEditor.css
github地址:https://github.com/hinesboy/mavonEditorhtml
使用方法:vue
首先安裝:java
npm install mavon-editor --save
而後在相應的組件裏引用:git
//引入
import {mavonEditor} from 'mavon-editor' import 'mavon-editor/dist/css/index.css'
//標籤使用,注意這裏是mavon-editor
<mavon-editor style="height: 100%;width: 100%;" v-model="form.content" ref="md" defaultOpen="edit" :toolbars="toolbarsValue" @imgAdd="$imgAdd" @change="changeMavon" @save="saveMavon" />
//mavon-editor菜單欄的相關配置github
toolbarsValue: { 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: false, // 保存(觸發events中的save事件) /* 1.4.2 */ navigation: true, // 導航目錄 /* 2.1.8 */ alignleft: true, // 左對齊 aligncenter: true, // 居中 alignright: true, // 右對齊 /* 2.2.1 */ subfield: true, // 單雙欄模式 preview: true, // 預覽 },
//相關的方法vue-cli
//富文本保存的方法 saveMavon(value,render){ console.log("this is render"+render); console.log("this is value"+value); }, // 綁定@imgAdd event $imgAdd(pos, $file){ console.log("觸發圖片上傳"); console.log(pos); console.log($file); // 第一步.將圖片上傳到服務器. var formdata = new FormData(); formdata.append('file', $file); console.log(formdata); imgeApi(formdata).then(res=>{ // 第二步.將返回的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` */ console.log(res.data); let url="/server/"+res.data.data; this.$refs.md.$img2Url(pos, url);
//相應的md格式的文件內容就是它綁定的變量
//獲得相應的html/文件
console.log(this.$refs.md.d_render);
}); },
我選擇的是直接將md格式的文本保存到數據庫中,而後再將其從數據庫中取出來解析。數據庫
2、md格式的文本的解析npm
使用marked框架來解析。
方法步驟:
npm install marked --save
在組件中引用:
import marked from 'marked'
相應的標籤:
<div v-html="readmeContent" ></div>
js方法:
//這裏的newDate[0].content就是取出來的md格式的文本內容 this.readmeContent=marked(newData[0].content||'',{ sanitize:true })
存在問題:如今純粹的只是將其解析成了html文件,相應的樣式查了下,能夠用highlight.js,但折騰了很久都沒引用成功,等以後再仔細看看marked的官方文檔再說....