1.简单使用
- 安装
marked 的插件
npm install marked -S
2.文件内引入
import { marked } from 'marked'
3.使用计算属性进行markdown to html
computed: {
markdownToHtml(){
return marked('# 我是markdown的一级标题');
}
}
4.页面使用
<div v-html="markdownToHtml"></div>
2. 深入使用
上述是最简单的用法,再高深一些的使用方式如下:
1.和上述一致
2.和上述一致
3.使用computed转换成html 语法:marked(markdownString, options, callback ) 该种使用 + highlight 可高亮语法
computed: {
markdownToHtml() {
return marked(this.vHtml, {
renderer: new marked.Renderer(),
highlight: function(code, lang, callback) {
return require("highlight.js").highlight(lang, code).value;
},
langPrefix: "hljs ",
pedantic: false,
gfm: true,
tables: true,
breaks: false,
sanitize: false,
smartLists: true,
smartypants: false,
xhtml: false
});
}
},
4.和上述一致
5.在html引入highlight highlight官网
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.4.0/styles/default.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.4.0/highlight.min.js"></script>
或者: 安装依赖
npm install highlight.js
引入依赖
import highlight from "highlight.js";
import "highlight.js/styles/default.css";
3. 遇到的问题
在渲染markdown的table 时,只有难看的格式,和期望的不一样。实际此时已经渲染出来样式了,只需要重写样式即可 将如下样式引入项目即可:
// markdown里的部分样式重写
.markdown_article {
table {
width: 100%;
max-width: 65em;
border: 1px solid #dedede;
// margin: 15px auto;
border-collapse: collapse;
empty-cells: show;
}
table th,
table td {
height: 35px;
border: 1px solid #dedede;
padding: 0 10px;
}
table th {
font-weight: bold;
text-align: center !important;
background: rgba(158, 188, 226, 0.2);
}
table tbody tr:nth-child(2n) {
background: rgba(158, 188, 226, 0.12);
}
// table tr:hover {
// background: #efefef;
// }
}
|