Vue实现MarkDown和语法高亮
所用插件
- markdown-it https://github.com/markdown-it/markdown-it 将markdown转化为html格式
- highlight.js https://github.com/highlightjs/highlight.js#nodejs–require 实现语法高亮
- github-markdown-css https://github.com/highlightjs/highlight.js#nodejs–require markdown格式美化
准备
引入依赖
npm install --save markdown-it
npm install --save highlight.js
npm install --save github-markdown-css
在需要引入markdown的页面中导入
import 'markdown-it'
import 'highlight.js'
import "github-markdown-css/github-markdown.css";
import "highlight.js/styles/atom-one-light.css"; //引入一种语法的高亮
使用
获取到markdown语法后,在js中调用markdown-it和highlight.js实现markdown和代码语法高亮
var MarkDownIt = require("markdown-it");
var hljs = require("highlight.js");
var md = new MarkDownIt({
html: true,
linkify: true,
typographer: true,
highlight: function (str, lang) {
// 得到经过highlight.js之后的html代码
const code = hljs.highlight(lang, str, true).value;
return code;
},
});
var mdTxt = md.render(source); //传入markdown语法,输入html形式的markdown
把mdTxt在浏览器中显示,就能看到markdown的形式啦。