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 相关文章推荐
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
May 04 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
Jan 04 Javascript
JQuery获取各种宽度、高度(format函数)实例
Mar 04 Javascript
JavaScript中的fontsize()方法使用详解
Jun 08 Javascript
javascript中setTimeout使用指南
Jul 26 Javascript
jQuery焦点图切换特效代码分享
Sep 15 Javascript
jquery实现简洁文件上传表单样式
Nov 02 Javascript
引用jquery框架后出错的解决方法
Aug 09 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
Nov 02 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
Mar 05 Javascript
如何能分清npm cnpm npx nvm
Jan 17 Javascript
一百多行代码实现react拖拽hooks
Mar 23 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实现图片裁剪、添加水印效果代码
2014/10/01 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
python中的对象拷贝示例 python引用传递
2014/01/23 Python
利用Psyco提升Python运行速度
2014/12/24 Python
详解python函数传参是传值还是传引用
2018/01/16 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
基于python实现计算且附带进度条代码实例
2020/03/31 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
英国最大的在线床超市:Bed Star
2019/01/24 全球购物
zooplus波兰:在线宠物店
2019/07/21 全球购物
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
规划编制实施方案
2014/03/15 职场文书
设计顾问服务计划书
2014/05/04 职场文书
房地产开发项目建议书
2014/05/16 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
先进单位事迹材料
2014/12/25 职场文书
初中生物教学反思
2016/02/20 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技
LeetCode189轮转数组python示例
2022/08/05 Python