写项目用到了markdown组件,github的组件
那个上面有安装的方法和不同情况下的使用方式。(安装我就不写了)在vue中使用
1.主要代码:
//代码高亮
markdownOption: {
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, // 保存(触发events中的save事件)
/* 1.4.2 */
navigation: true, // 导航目录
/* 2.1.8 */
alignleft: true, // 左对齐
aligncenter: true, // 居中
alignright: true, // 右对齐
/* 2.2.1 */
subfield: true, // 单双栏模式
preview: true // 预览
},
md: {
markdown: '#### how to use mavonEditor in nuxt.js',
title: '',//自定义的
html: '', //自定义的
status: 1,//自定义的
id: ''//自定义的
}
// 绑定@imgAdd event
$imgAdd(pos, $file) {
// 第一步.将图片上传到服务器.
var formdata = new FormData()
formdata.append('file', $file)
blogApi.uploadBlogImg(formdata).then(response => {
// console.log(response.data.data.url)
this.$refs.md.$img2Url(pos, response.data.data.url)
// this.$refs.md
})
},
$imgDel(filename) {
// console.log('delete ' + filename[0] + ' hhh')
blogApi.deleteBlogImg(filename[0])
},
changeBlog(value, render) {
// console.log(value + '\t' + render)
this.md.html = render
this.md.markdown = value
},
博文展示:
{{ blog.htmlDescription }}
高亮需要的组件
// Vue-cli生成的工程文件的src/main.js
import hljs from 'highlight.js'
import 'highlight.js/styles/zenburn.css' // 样式文件
import Vue from 'vue'
import cookie from 'js-cookie'
Vue.directive('highlight', function(el) {
const blocks = el.querySelectorAll('pre code')
blocks.forEach(block => {
hljs.highlightBlock(block)
})
})