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获取选中radio对应的值(一句代码)
Jun 03 Javascript
jquery制作select列表双向选择示例代码
Sep 02 Javascript
javascript制作的cookie封装及使用指南
Jan 02 Javascript
jQuery获得document和window对象宽度和高度的方法
Mar 25 Javascript
javascript执行环境及作用域详解
May 05 Javascript
jQuery操作iframe中js函数的方法小结
Jul 06 Javascript
微信小程序 教程之模板
Oct 18 Javascript
详解Vue中添加过渡效果
Mar 20 Javascript
Vue动态组件实例解析
Aug 20 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
Oct 09 Javascript
vue远程加载sfc组件思路详解
Dec 25 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 19 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
php中函数的形参与实参的问题说明
2010/09/01 PHP
CodeIgniter基本配置详细介绍
2013/11/12 PHP
javascript 读取xml,写入xml 实现代码
2009/07/10 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
js removeChild 方法深入理解
2016/08/16 Javascript
学习Node.js模块机制
2016/10/17 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
2018/01/21 jQuery
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
Vuex中的State使用介绍
2019/01/19 Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
2020/04/22 Javascript
Python实现简单拆分PDF文件的方法
2015/07/30 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
pycharm 安装JPype的教程
2019/08/08 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
全球最大的跑步用品商店:Road Runner Sports
2016/09/11 全球购物
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
2016/03/12 面试题
医学院校毕业生自荐信范文
2014/01/01 职场文书
警察思想汇报
2014/01/04 职场文书
集体婚礼证婚词
2014/01/13 职场文书
大学校园毕业自我鉴定
2014/01/15 职场文书
三严三实对照检查材料
2014/09/22 职场文书
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
浅谈PHP7中的一些小技巧
2021/05/29 PHP
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript