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 相关文章推荐
jQuery的实现原理的模拟代码 -3 事件处理
Aug 03 Javascript
封装的原生javascript弹出层代码
Sep 24 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
Jan 08 Javascript
原生JavaScript编写俄罗斯方块
Mar 30 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 Javascript
js省市联动效果完整实例代码
Dec 09 Javascript
vue.js入门(3)——详解组件通信
Dec 02 Javascript
JavaScript获取select中text值的方法
Feb 13 Javascript
JavaScript 完成注册页面表单校验的实例
Aug 19 Javascript
微信小程序商品详情页规格属性选择示例代码
Oct 30 Javascript
详解Vue中watch的高级用法
May 02 Javascript
vue-router 前端路由之路由传值的方式详解
Apr 30 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
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
JS运动特效之任意值添加运动的方法分析
2018/01/24 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
Django的数据模型访问多对多键值的方法
2015/07/21 Python
Python实现简单登录验证
2016/04/13 Python
python实现手机通讯录搜索功能
2018/02/22 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
Python I/O与进程的详细讲解
2019/03/08 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
元旦文艺汇演主持词
2014/03/26 职场文书
日化店促销方案
2014/03/26 职场文书
购房意向书范本
2014/04/01 职场文书
村党支部换届选举方案
2014/05/02 职场文书
团队拓展活动方案
2014/08/28 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js