nuxt.js博客前端使用markdown来显示文章

发布时间:2022-02-10 20:14:35 浏览数:30

这里记录一下我把文章用markdown解析的一些想法把

首先,我的数据库里面有两个字段,一个保存的是markdown格式,字段名为content,另一个是markdown解析之后的html格式,字段名为html_content。

原先的时候,是在后台的markdown编辑器里面,把上面两个都保存到数据表中,然后在前端直接使用vue的 v-html="html_content" 来直接显示的,然后样式不好看,我就找了一个 ui 库叫github-markdown-css, 然后在使用时,导入 css 文件,然后文本那里使用css里面的 markdown-body 的class就行了 但是这种方式没法显示语法高亮,所以就准备升级一下,把语法高亮加上,语法高亮我选择的 highlight.js

刚开始是使用 markedhighlight.js 来实现的,实现完成之后,发现markdown没有背景, 问题在这里 ,和这个人一样的问题,感觉解决比较麻烦,就换了一种方案,找到了 markdown-it 来实现, 文档地址

最后采用这个实现完成了,原理的话,是把markdown格式的文本在组件中获取到,然后导入markdown-ithighlight.js,然后在markdown-it里面导入highlight.js,再把markdown的文本传入进去,会获取到带了语法高亮的html变量,然后把这个变量用v-html渲染到模板上就行了, 最后再把hightlight.js的主题css导入到组件里面使用就行了。 主题地址