highlight.js 代码高亮插件的使用详解

yizhihongxing

Highlight.js 代码高亮插件的使用详解

什么是 highlight.js

highlight.js 是一个用于 Web 页面的 JavaScript 代码高亮库。它支持超过 180 种编程语言和文档格式的语法高亮。

如何使用 highlight.js

安装

你可以通过 NPM 安装 highlight.js:

npm install highlight.js

或者你也可以在官网下载 highlight.js 的压缩包,然后将 highlight.min.jshighlight.min.css 文件添加到你的项目中。

引入

<!-- 加载 highlight.js 的 CSS 文件 -->
<link rel="stylesheet" href="/path/to/highlight.min.css">

<!-- 加载 highlight.js 的 JavaScript 文件 -->
<script src="/path/to/highlight.min.js"></script>

高亮代码

方式一:自动检测语言并高亮

你可以通过下面的代码来自动检测代码的语言并高亮:

<pre><code>
// Your code here
</code></pre>

<script>
// 在页面加载完成之后,对所有 pre code 进行高亮
document.addEventListener('DOMContentLoaded', (event) => {
  document.querySelectorAll('pre code').forEach((el) => {
    hljs.highlightElement(el);
  });
});
</script>

方式二:指定语言类型并高亮

你也可以通过下面的代码来指定代码的语言类型并进行高亮:

<pre><code class="html">
// Your code here
</code></pre>

<script>
// 在页面加载完成之后,对所有 pre code 进行高亮
document.addEventListener('DOMContentLoaded', (event) => {
  document.querySelectorAll('pre code').forEach((el) => {
    hljs.highlightElement(el);
  });
});
</script>

上面的 class="html" 即指定了代码的类型为 HTML。

示例说明

示例一:高亮 HTML 代码

下面是一个简单的 HTML 页面示例,演示如何高亮 HTML 代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Highlight.js 示例一:高亮 HTML 代码</title>
  <link rel="stylesheet" href="./node_modules/highlight.js/styles/atom-one-dark.min.css">
</head>
<body>
  <pre><code class="html">
    &lt;!DOCTYPE html&gt;
    &lt;html&gt;
    &lt;head&gt;
      &lt;meta charset="utf-8"&gt;
      &lt;title&gt;Hello World&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
      &lt;h1&gt;Hello World!&lt;/h1&gt;
    &lt;/body&gt;
    &lt;/html&gt;
  </code></pre>

  <script src="./node_modules/highlight.js/lib/highlight.js"></script>
  <script>hljs.initHighlightingOnLoad();</script>
</body>
</html>

上面的代码通过指定 class="html" 来高亮 HTML 代码。在 script 标签的最后,使用 hljs.initHighlightingOnLoad() 使高亮库能够自动检测语言并高亮所有代码块。

示例二:高亮 JavaScript 代码

下面是一个简单的 JavaScript 页面示例,演示如何高亮 JavaScript 代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Highlight.js 示例二:高亮 JavaScript 代码</title>
  <link rel="stylesheet" href="./node_modules/highlight.js/styles/vs2015.min.css">
</head>
<body>
  <pre><code class="javascript">
    function helloWorld() {
      console.log('Hello, World!');
    }
    helloWorld();
  </code></pre>

  <script src="./node_modules/highlight.js/lib/highlight.js"></script>
  <script>hljs.initHighlightingOnLoad();</script>
</body>
</html>

上面的代码通过指定 class="javascript" 来高亮 JavaScript 代码。在 script 标签的最后,使用 hljs.initHighlightingOnLoad() 使高亮库能够自动检测语言并高亮所有代码块。

总结

以上就是 highlight.js 代码高亮插件的使用详解。通过正确地使用 highlight.js,我们可以很容易地在我们的网站或博客中显示高亮的代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:highlight.js 代码高亮插件的使用详解 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • 浅谈最全面的水平垂直居中方案与flexbox布局

    浅谈最全面的水平垂直居中方案与flexbox布局 水平垂直居中的需求与问题 在前端开发中,经常会遇到需要在页面上实现水平、垂直居中的需求。例如,把一个div居中显示在页面上,或者是把图片和文字居中显示在一个容器中。但是很多时候,由于浏览器的不同,屏幕大小的不同等因素,常规的布局方法往往无法满足我们的需求,出现了无法居中的情况。 最全面的水平垂直居中方案 父容…

    css 2023年6月10日
    00
  • 使用CSS实现黑白格背景效果

    要使用CSS实现黑白格背景效果,可以使用CSS的重复背景图片和线性渐变两种方式。 1. 重复背景图片 使用重复背景图片的方法是,首先准备一个黑白格图片,然后将其设置为背景图片并进行重复。具体代码如下: body { background-image: url("black-white-grid.png"); background-repe…

    css 2023年6月9日
    00
  • FLASH遮挡DIV浮动层解决方案兼容IE FF Chrome

    这里是关于“FLASH遮挡DIV浮动层解决方案兼容IE FF Chrome”的完整攻略,以下为详细讲解: 背景 在网页开发中,经常会出现FLASH对象遮挡了DIV浮动层的情况。这是由于FLASH对象往往会在网页上方层级最高,这会导致在页面浮动的层级中,FLASH对象会遮挡在前面,从而影响网页视觉效果。 在这种情况下,我们需要找到一种解决方案,使得DIV浮动层…

    css 2023年6月10日
    00
  • CSS3教程(7):CSS3嵌入字体

    CSS3教程(7):CSS3嵌入字体 在前端开发过程中,我们经常会遇到有特殊字体需求的情况。一般情况下,我们会引入相应字体的外部文件,但这种做法有时会导致字体下载速度慢,甚至文件不存在。CSS3中提供了一种解决方案,那就是嵌入字体。 嵌入字体的优势 不需要额外的HTTP请求; 可以保证字体在不同的设备上,展示效果一致; 字体可被压缩和缓存。 嵌入字体的方法 …

    css 2023年6月9日
    00
  • 使用JavaScript创建新样式表和新样式规则

    使用JavaScript创建新样式表和新样式规则可以非常方便地对网页进行样式控制和动态效果的实现。下面是创建新样式表和新样式规则的完整攻略。 创建新样式表 通过JavaScript可以动态地创建新的样式表,创建方式如下: // 创建新的样式表 var style = document.createElement(‘style’); style.type = …

    css 2023年6月9日
    00
  • CSS图片优化的一些相关建议

    下面是关于“CSS图片优化的一些相关建议”的完整攻略。 建议一:使用WebP格式图片 WebP是由Google开发的一种新的图片格式,它可以将图片的体积压缩到原来的一半以上,同时保持图片的质量不变。使用WebP格式图片可以大大优化页面响应速度,提高用户体验。 在CSS中使用WebP格式图片的代码如下: /* 使用 WebP 格式图片 */ selector …

    css 2023年6月11日
    00
  • springboot2中session超时,退到登录页面方式

    在Spring Boot 2中,控制Session超时并重定向到登录页面的方式有多种。下面是其中一种完整攻略: 1. 设置Session超时时间 在application.properties文件中添加以下配置,设置Session超时时间: server.servlet.session.timeout=30m 表示Session超时时间为30分钟。也可以使用…

    css 2023年6月10日
    00
  • 浅谈移动端的自适应布局问题(响应式、rem/em、Js动态)

    移动端自适应布局问题是在不同屏幕尺寸的移动设备上保持网页布局始终合适的问题。常见的解决方案包括响应式、rem/em以及Js动态。 响应式布局 响应式布局是指适配不同宽度的屏幕,使用CSS3的媒体查询(Media Query)来给不同尺寸的设备设置不同的样式。通常响应式布局可以分成三份(移动端、平板、PC端)设置不同的CSS样式。 以两列布局为例,代码如下: …

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部