【前端代码高亮】页面代码高亮展示之Highlight高亮组件应用详解,附多个主题效果

news2024/11/18 14:57:02

【写在前面】作为前端开发的基本上都有接触这个高亮组件,这个也是目前被大家誉为最全面,体验最好的,所以针对数据展示型高亮显示我是力推这个的,但是我个人还是觉得还有不完美的地方,比如说一边输入一边高亮就不行了。后续我自己推出自己写的一个东西,暂时这篇文章先给大家介绍一下Highlight的实例应用过程。

文章目录

  • 1、下载官方依赖包
    • 官网依赖包下载地址:
    • cdnjs在线引入
    • jsdelivr在线引入
    • unpkg在线引入
  • 2、页面的搭建
  • 3、实际效果的展示(不同主题任你选,我罗列了一些个人觉得还不错的)
    • Sql文本的展示效果(default.min.css默认主题)
    • JS函数高亮展示(vs2015.min.css)
    • CSS高亮展示(tomorrow-night-blue.min.css)
    • JSON高亮展示(brown-paper.min.css主题)
    • Java 文本(stackoverflow-dark.min.css主题)
  • 4、邀您入皇榜

1、下载官方依赖包

官网依赖包下载地址:

https://highlightjs.org/download/
还有人就会说,我不下不行啊?当然也是可以,博主特意给您整理了一下有关在线直接引入的方式。前提是你有访问外网的条件,别拿个82年的电脑在非洲山沟里和我谈在线引入。

cdnjs在线引入

<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/default.min.css"> 
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script>

jsdelivr在线引入

<link rel="stylesheet" href="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.7.0/build/styles/default.min.css"> 
<script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.7.0/build/highlight.min.js"></script>

unpkg在线引入

<link rel="stylesheet" href="//unpkg.com/@highlightjs/cdn-assets@11.7.0/styles/default.min.css"> 
<script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>

2、页面的搭建

完整代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="jquery/jquery3.3.1.min.js"></script>
    <script src="highlight/highlight.min.js"></script>
    <link rel="stylesheet" href="highlight/styles/stackoverflow-dark.min.css">
    <!-- <link rel="stylesheet" href="highlight/vs2015.min.css"> -->
    <!-- <link rel="stylesheet" href="highlight/xcode.min.css"> -->
    <title>代码highlight高亮实例页面</title>
    <style>
        h2 {
            margin: 0;
            padding: 0;
            color: #EB8070;
            font-weight: 400;
            font-size: 15px;
            padding-top: 10px;
            font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
        }

        h2 span {
            font-size: 12px;
        }

        pre {
            margin: 0;
        }
    </style>
</head>

<body style="width: 900px;">
    <button onclick="buttyForm()">美化</button>
    <h2>Java文本美化<span>(stackoverflow-dark.min.css主题)</span></h2>
    <pre>
        <b><code contenteditable="true" class="language-这里写需要高亮的编程语言" >
package com.dfc.dao;

import com.dfc.common.persistence.CrudDao;
import com.dfc.common.persistence.MyBatisDao;
import com.dfc.po.SysParamPo;

@MyBatisDao
public interface SysParamDao extends CrudDao<SysParamPo> {

    public SysParamPo findByCode(String code);
}
        </code></b>
    </pre>
</body>
<script>
    hljs.initHighlightingOnLoad(); //这里调用
    function buttyForm(params) {
        hljs.initHighlightingOnLoad(); //这里调用
    }
    document.getElementById("rendered").addEventListener("blur", function (e) {
        console.log("tabbed out")
        document.querySelectorAll('pre').forEach((block) => {
            hljs.highlightBlock(block);
        })
    })
</script>

</html>

其实核心就是引用插件,调用插件的方法,核心代码功能都封装在highlight.min.js文件里面,唯一可说的也就是contenteditable=“true” 这个表示的是当前的标签区域内的文本可编辑,false表示不可编辑,另外我发现这个是和code标签配套使用的,我曾经还试着用textarea和div标签去做替换,但是发现替换后效果没了,真是盲僧打野–白瞎了。

3、实际效果的展示(不同主题任你选,我罗列了一些个人觉得还不错的)

Sql文本的展示效果(default.min.css默认主题)

在这里插入图片描述

JS函数高亮展示(vs2015.min.css)

在这里插入图片描述

CSS高亮展示(tomorrow-night-blue.min.css)

在这里插入图片描述

JSON高亮展示(brown-paper.min.css主题)

在这里插入图片描述

Java 文本(stackoverflow-dark.min.css主题)

在这里插入图片描述

4、邀您入皇榜

如果觉得这篇文章对您有帮助的话,想支持博主的可以上皇榜看看哟,皇榜点击此处进入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/157458.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《UEFI内核导读》如果没有内存,程序代码还能不能执行?

敬请关注&#xff1a;“固件C字营 首先思考一个问题&#xff0c;冯洛伊曼架构的计算机如果没有内存&#xff0c;代码能被否正常执行&#xff1f;过程&#xff08;函数&#xff09;能不能被相互调用&#xff1f;答案是肯定的&#xff0c;其中的一个实现方法如下。这里只介绍汇编…

如何在Instagram上开店?Instagram开店教程请收好

Instagram 是国外非常重要的图像分享平台&#xff0c;具有很强的视觉吸引力。更重要的是&#xff0c;它是最受网红欢迎的社交媒体网站之一&#xff0c;每天有超过5亿用户访问它。巨大的流量和高活跃度&#xff0c;为卖家提供了大量的营销机会。而且最重要的是&#xff0c;现在在…

唤醒手腕 Go 语言开发学习笔记(基本简介、环境安装、基础知识)

1. Go语言简介 Go&#xff08;又称 Golang&#xff09;是 Google 的 Robert Griesemer&#xff0c;Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近&#xff0c;但功能上有&#xff1a;内存安全&#xff0c;GC&#xff08;垃圾回收&#xf…

day12|层序遍历合集、226.翻转二叉树、101.对称二叉树

目录 层序遍历合集 102.二叉树的层序遍历 107.二叉树的层次遍历II 199.二叉树的右视图 637.二叉树的层平均值 429.N叉树的层序遍历 515.在每个树行中找最大值 116.填充每个节点的下一个右侧节点指针 117.填充每个节点的下一个右侧节点指针II 104.二叉树的最大深度 11…

Hi3861鸿蒙物联网项目实战:智慧农业

华清远见FS-Hi3861开发套件&#xff0c;支持HarmonyOS 3.0系统。开发板主控Hi3861芯片内置WiFi功能&#xff0c;开发板板载资源丰富&#xff0c;包括传感器、执行器、NFC、显示屏等&#xff0c;同时还配套丰富的拓展模块。开发板配套丰富的学习资料&#xff0c;包括全套开发教程…

联合体(共用体) :(笔记补充)

目录 一.联合体的基本概念 二.相关面试题 三.联合体大小计算 关于结构体的内存对齐&#xff1a;http://t.csdn.cn/fbQuo 一.联合体的基本概念 联合也是一种特殊的自定义类型,这种类型定义的变量也包含一系列的成员&#xff0c;特征是这些成员公用同一块空间&#xff08;所以…

jar转成dex文件 dex文件转化为smali文件

jar转成dex文件 dx 可以利用android studio中的dx工具。 可以看到android的tool安装位置: 在此路径下的如下目录有dx.bat,这个正是我们需要使用的工具。 D:\sdk\build-tools\30.0.3将dx.bat添加到环境变量 基本指令 > dx --dex --output 输出路径 待转化的jar包C

MySQL通过 XtraBackup 备份恢复单个库

GreatSQL社区原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本&#xff0c;使用上与MySQL一致。作者&#xff1a;王权富贵文章来源&#xff1a;GreatSQL社区原创 1.概述 本文通过 XtraBackup 备份单个数据库&#xff0c;然后…

Elasticsearchdump 数据导入/导出

一.安装过程 当前工具主要是用来对ES中的数据进行数据导入/导出&#xff0c;以及对数据迁移相关&#xff0c;使用elasticdump工具需要使用到npm&#xff0c;所以需要安装相关的依赖 目前使用到的ES版本是7.x 安装NODE 通过npm安装elasticdump # 本地安装和全局安装的区别在于…

3.25 haas506 2.0开发教程-充电电压检测

haas506 2.0开发教程-充电检测1.案例说明2.硬件准备连线3.代码4.测试1.案例说明 可以通过USB端口对连接在开发板上的锂电池进行充电&#xff0c;USB最大供电电压5V。案例使用锂电池供电。通过原理图看到使用ADC2读取锂电池电压&#xff0c;并且采集电压做了分压处理&#xff0…

第六篇 VGGNet——模型精讲

文章目录 1、模型介绍网络结构3 模型特性1、模型介绍 VGGNet是通过简单堆叠卷积构建网络的巅峰之作,在后面的模型就是ResNet这种残差网络的时代。 VGGNet是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网络结构,他们以7.32%的错误率赢得了201…

为什么我们的微服务中需要网关?

玩过微服务的小伙伴对 Spring Cloud 中的的 Spring Cloud Gateway 多多少少都有一些了解&#xff0c;松哥之前既写过相关的文章&#xff0c;也录过相关的视频跟小伙伴们介绍 Spring Cloud Gateway&#xff0c;不过在之前的介绍中&#xff0c;我可能更加侧重于跟小伙伴们介绍 Sp…

接到新需求时,从何开始设计?

即便我们能够极尽所能把代码写整洁&#xff0c;规避各种坏味道&#xff0c;但我们小心翼翼维护的代码&#xff0c;还是可能因为新的需求被破坏。 新的需求总会在路上&#xff0c;所以&#xff0c;写代码时需要时时刻刻保持嗅觉。 实现驳回 有个功能&#xff0c;内容作品提交…

lxmlxpath一站式教学

文章目录XPath定义XPath 概览安装lxml初步使用xpath 常用表达式获取所有节点获取子节点获取父亲节点属性匹配获取文本获取属性属性多值匹配多属性匹配按序选择节点轴选择总结XPath定义 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历…

OMNet++安装pydev

菜单栏->Help->Install New SoftWare->Add 输入 Pydev http://pydev.sourceforge.net/pydev_update_site/5.2.0链接为下载5.2.0版本&#xff0c;若jdk<1.8安装5.2.0之前的版本。\color{blue}{链接为下载5.2.0版本&#xff0c;若jdk<1.8安装5.2.0之前的版本。}链…

无代理Bean对象Spring循环依赖处理

Bean A和B互相依赖 A对象或者B对象,创建对象时会形成死循环,解决: Spring中创建对象:实例化、初始化 闭环:此时,图中是一个闭环,如果想解决这个问题,那么就必须要保证不会出现第二次创建A(B)对象这个步骤,也就是说从容器中获取A的时候必须要能够获取到 思考,在spring…

RabbitMQ(三)工作原理及核心概念

目录工作原理图1.Connection 连接2.Channel 信道3.Virtual host 虚拟主机4.Queue 队列5.Exchange 交换机5.1 direct5.2 fanout5.3 topic5.4 headers官网地址&#xff1a;https://www.rabbitmq.com/ 下载地址&#xff1a;https://www.rabbitmq.com/download.html RabbitMQ 的5大…

chk文件恢复和文件恢复的区别有哪些?

文件恢复也就是我们常说的数据恢复&#xff0c;一般用于恢复误删除、损坏的文件数据&#xff0c;那么chk文件恢复又是什么意思呢&#xff1f;两者有什么区别呢&#xff1f;文件恢复市面上常见的文件恢复软件&#xff0c;一般都是用于恢复那些被删除、损坏的文件数据恢复&#x…

Jenkin权限控制——项目矩阵授权策略

开启授权策略 Jenkins的项目权限控制通过【授权策略】实现&#xff0c;【授权策略】需要plugins提供&#xff0c;首先需要安装Role-based Authorization Strategy 安装Role-based Authorization Strategy 管理Jenkins——》插件管理——》搜素——》Role-based Authorizatio…

距离教资考试还有两天,你的照片准备好了没有?

距离教资考试还有两天不知道你的教资报名照准备好了没有?照片不合格可是不能报名成功的&#xff01; ​ ​ 1、本人近6个月以内免冠正面彩色证件照 2、一寸白底&#xff0c;比例3:4 3、不允许戴帽子、头巾、发带、墨镜 4、照片中显示考生头部和肩膀上部 5、照片为jpg或jpe…