vue使用showdown并实现代码区域高亮的示例代码


Posted in Javascript onOctober 17, 2019

前言:当我们想把makedown文档转译为html在网页上显示,并且能漂亮的展示出自己想要的网页形式,接下来我给大家介绍插件来达到我们所想要的功能。
注:下面安装及使用方式是基于vue进行滴。

1、安装showdown

npm install showdown --save

2、将showdown引入到使用的页面中

<template>
  <div v-html="htms"></div> 
</template>

<script>
import showdown from "showdown"
converter.setOption('tables', true);  // 将表格显示出来
export default {
  data() {
    return {
      htms: ""
    }
  },
  created() {
    this.setMakedown()
  },
  methods: {
    setMakedown() {
     this.htms = converter.makeHtml('# 这是一个标题')
    }
  }
}
</script>

最终展示效果

vue使用showdown并实现代码区域高亮的示例代码

但是这时有个问题出现,如果我们去添加代码块儿时,代码是统一颜色,代码块也没有背景色,同时也没有高亮样式,接下来我们解决代码没有高亮问题。

1、安装highlight

npm install highlight --save

2、 在main.js添加自定义指令

import hljs from "highlight.js"
import 'highlight.js/styles/default.css';

// 定义自定义指令 highlight 代码高亮
Vue.directive('highlight',function (el) {
 let blocks = el.querySelectorAll('pre code');
 blocks.forEach((block)=>{
  hljs.highlightBlock(block)
 })
})

3、 将“ v-highlight ”添加到使用的div标签上

<template>
  <div v-html="htms" v-highlight></div> 
</template>

效果如下:

vue使用showdown并实现代码区域高亮的示例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
无闪烁更新网页内容JS实现
Dec 19 Javascript
js随机生成网页背景颜色的方法
Feb 26 Javascript
JS中的forEach、$.each、map方法推荐
Apr 05 Javascript
用JS中split方法实现彩色文字背景效果实例
Aug 24 Javascript
canvas绘制万花筒效果(代码分享)
Jan 20 Javascript
详解Javascript中DOM的范围
Feb 13 Javascript
详解AngularJS ui-sref的简单使用
Apr 24 Javascript
vue.js实现条件渲染的实例代码
Jun 22 Javascript
详解微信小程序实现WebSocket心跳重连
Jul 31 Javascript
深入理解Vue 组件之间传值
Aug 16 Javascript
js之ajax文件上传
May 13 Javascript
JavaScript实现两个数组的交集
Mar 25 Javascript
vue-devtools的安装和使用步骤详解
Oct 17 #Javascript
express中static中间件的具体使用方法
Oct 17 #Javascript
在Express中提供静态文件的实现方法
Oct 17 #Javascript
微信小程序一周时间表功能实现
Oct 17 #Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
Oct 17 #Javascript
JS工厂模式开发实践案例分析
Oct 17 #Javascript
小程序input数据双向绑定实现方法
Oct 17 #Javascript
You might like
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
PHP 数字左侧自动补0
2008/03/31 PHP
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
PHP中常用的输出函数总结
2014/09/22 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
xml转json的js代码
2012/08/28 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
Python  连接字符串(join %)
2008/09/06 Python
python插入数据到列表的方法
2015/04/30 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
python使用tornado实现简单爬虫
2018/07/28 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Python列表与元组的异同详解
2019/07/02 Python
Python Django基础二之URL路由系统
2019/07/18 Python
python障碍式期权定价公式
2019/07/19 Python
wxpython绘制音频效果
2019/11/18 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
公务员保密承诺书
2014/03/27 职场文书
《小小的船》教学反思
2016/02/18 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python