Vue解析Markdown实现

经实测,vue-markdown的效果更好

marked

npm install marked --save

具体使用:

<template>
  <div class="article" v-html="compiledMarkdown"></div>
</template>

<script>
import marked from 'marked'

export default {
  data () {
   return {
   content: ""
   }
  }

  computed: {
    compiledMarkdown () {
      return marked(this.content, { sanitize: true })
    }
  }
}
</script>

vue-markdown

npm i vue-markdown

具体使用:

<template>
  <vue-markdown class="article" :source="content"></vue-markdown>
</template>

<script>
import VueMarkdown from 'vue-markdown'  //直接作为一个组件引入

export default {
  name: 'demo',
  data() {
    return {
      content: '## 这里是要展示的markdown文字,也可以通过props传递'
    }
  },
  components: {
    VueMarkdown  // 声明组件
  }
}
</script>

引入highlight.js实现代码高亮

npm install highlight.js --save

在main.js中注册一个新的指令

import hljs from 'highlight.js'
import 'highlight.js/styles/googlecode.css'

Vue.directive('highlight', (el) => {
  let blocks = el.querySelectorAll('pre code')
  blocks.forEach((block) => {
    hljs.highlightBlock(block)
  })
})

具体使用:

<div v-html="compiledMarkdown" v-highlight></div>
<vue-markdown :source="content" v-highlight></vue-markdown>

更多vue-markdown使用方法参考:https://github.com/miaolz123/vue-markdown
更多highlight.js使用方法参考:https://github.com/isagalaev/highlight.js

上一篇 Vue.js修改第三方组件并引用
下一篇 Markdown CSS样式
目录
文章列表
1 Jenkins构建vue项目
Jenkins构建vue项目
2
Docker搭建私有仓库
Docker搭建私有仓库
3
【面试必备】快速理解数据库事务隔离级别
【面试必备】快速理解数据库事务隔离级别
4
pip3异常No module named 'pip._internal'
pip3异常No module named 'pip._internal'
5
Spring Boot 中 JPA 的使用
Spring Boot 中 JPA 的使用
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。