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 相关文章推荐
javaScript对象和属性的创建方法
Jan 15 Javascript
jquery实现的超出屏幕时把固定层变为定位层的代码
Feb 23 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
May 29 Javascript
javascript的switch用法注意事项分析
Feb 02 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
Apr 30 Javascript
如何实现json数据可视化详解
Nov 24 Javascript
Javascript中this关键字指向问题的测试与详解
Aug 11 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
Sep 15 Javascript
AngularJs中$cookies简单用法分析
May 30 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
Mar 06 Javascript
JS前端使用canvas实现扩展物体类和事件派发
Aug 05 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全局变量与超级全局变量区别分析
2016/04/01 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
Jquery 学习笔记(一)
2009/10/13 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
详解vue express启动数据服务
2017/07/05 Javascript
angular中的cookie读写方法
2017/08/02 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
2017/11/08 jQuery
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
python中的单引号双引号区别知识点总结
2019/06/23 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
详解python中*号的用法
2019/10/21 Python
python的等深分箱实例
2019/11/22 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
德国旅游网站:weg.de
2018/06/03 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
百年校庆节目主持词
2014/03/27 职场文书
管理工程专业求职信
2014/08/10 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
党的群众路线调研报告
2014/11/03 职场文书
先进员工事迹材料
2014/12/20 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL