Editor.md https://pandao.github.io/editor.md/#dependents
1.1 AngularJs 12 使用 Editor.md 实现 Markdown 编辑 https://www.cnblogs.com/xiaqiuchu/p/15165258.html
问题: 和ngx-echarts 不兼容,两者使用会报错(解决:可以使用原生的进行调用)
Vditor https://b3log.org/vditor/
问题:使用如果 ### {aaa} 这样写,无法渲染出 {aaa} 且提了issue, 官方暂时未改
https://github.com/nhn/tui.editor
问题:暂时无法生成目录
兜兜转转没有发现特别好用的插件,最后自己用正则解析marked.js,生成的html实现。
npm install -g marked
代码实现
import { marked } from 'marked'
this.mdContent (markdown 内容)
let matchMapList = marked.parse(this.mdContent).match(/(<h)[\d\s]+(id=)["'\w-]+>[^<]+</g).map(item => {
let curretItem = item.match(/(<h)[\d\s]+(id=)["'\w-]+>/g)[0]
return {
hName: Number(curretItem.match(/<h[\d]+/)[0].slice(2)),
id: curretItem.match(/id=[\S]+/)[0].slice(4,-2),
liName: item.slice(curretItem.length, -1).trim(),
children: []
}
})