为了账号安全,请及时绑定邮箱和手机立即绑定

vue中使用marked和highlight.js代码能高亮但是没有背景

vue中使用marked和highlight.js代码能高亮但是没有背景

慕尼黑8549860 2019-03-20 22:19:52
如图以下是代码。import Loading from '~/components/Loading.vue';import marked from "marked";import hljs from "highlight.js";// import 'highlight.js/styles/googlecode.css';import 'highlight.js/styles/atom-one-dark.css';marked.setOptions({  renderer: new marked.Renderer(),  highlight: function(code) {    return hljs.highlightAuto(code).value;  },  pedantic: false,  gfm: true,  tables: true,  breaks: false,  sanitize: false,  smartLists: true,  smartypants: false,  xhtml: false  });article.content = marked(article.content);<div v-html="article.content" ></div>
查看完整描述

2 回答

?
大魔王加菲月

TA贡献1条经验 获得超0个赞

因为pre标签缺失hljs这个class,加上就好了

将拿到的markdown内容,用marked转成html字符串后,replace替换<pre>标签为<pre class="hljs">

marked(拿到的markdown内容).replace(/<pre>/g, "<pre class='hljs'>")


查看完整回答
反对 回复 2020-05-27
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

具体原因是pre标签没有hljs这个class,加上就可以(代码高亮样式都是给hljsclass加上的背景色),这算是一种解决方法,但是不优雅


查看完整回答
反对 回复 2019-04-15
  • 2 回答
  • 0 关注
  • 3398 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信