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实现下载远程文件并保存在本地的脚本
May 06 Javascript
基于Jquery实现表格动态分页实现代码
Jun 21 Javascript
jquery 操作DOM案例代码分享
Apr 05 Javascript
用Javascript获取页面元素的具体位置
Dec 09 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
Apr 11 Javascript
PHP中CURL的几个经典应用实例
Jan 23 Javascript
jQuery读取XML文件内容的方法
Mar 09 Javascript
基于JS实现bookstore静态页面的实例代码
Feb 22 Javascript
基于JavaScript定位当前的地理位置
Apr 11 Javascript
vue-cli中打包图片路径错误的解决方法
Oct 26 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
Sep 21 Javascript
vue项目中使用rem,在入口文件添加内容操作
Nov 11 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项目的方法
2006/10/09 PHP
PHP四舍五入精确小数位及取整
2014/01/14 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
vue组件系列之TagsInput详解
2020/05/14 Javascript
Python中的进程分支fork和exec详解
2015/04/11 Python
简单解决Python文件中文编码问题
2015/11/22 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python爬取梨视频的示例
2021/01/29 Python
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
俄罗斯GamePark游戏商店网站:购买游戏、游戏机和配件
2020/03/13 全球购物
学生自我评语大全
2014/04/18 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
公司放假通知怎么写
2015/04/15 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
python中pymysql包操作数据库方法
2022/04/19 Python