隐藏

web网页代码高亮显示js插件highlight.js

发布:2023/12/7 15:43:34作者:大数据 来源:大数据 浏览次数:442

https://highlightjs.org/

https://github.com/highlightjs/highlight.js

highlight代码高亮

基本用法

在浏览器中

在网页上使用 highlight.js 的最低要求是链接到库以及主题之一并调用highlightAll

 

这将找到并突出显示<pre><code>标签内的代码;它会尝试自动检测语言。如果自动检测对您不起作用,或者您只是希望明确表示,您可以在 usingclass属性中手动指定语言:

明文代码块

要将 Highlight.js 样式应用于纯文本而不实际突出显示它,请使用以下plaintext语言:

忽略代码块

要完全跳过代码块的突出显示,请使用nohighlight该类:

服务器上的 Node.js

自动检测语言并突出显示一些代码的最低要求。

 

仅加载流行语言的“通用”子集:

要突出显示特定语言的代码,请使用highlight

有关vs用法等的更多示例,请参阅导入库。有关返回的结果对象的更多信息或参考api 文档requireimporthighlighthighlightAuto

支持的语言

Highlight.js 在核心库中支持 180 多种语言。还有 3rd 方语言定义可用于支持更多语言。您可以在SUPPORTED_LANGUAGES.md 中找到支持语言的完整列表。

自定义用法

如果您需要对 Highlight.js 的初始化进行更多控制,可以使用highlightElementconfigure 函数。这可以让你更好地控制哪些突出和

例如,这里大致相当于调用highlightAll但手动完成工作:

有关configure选项,请参阅文档。

使用自定义 HTML

我们强烈建议<pre><code>对代码块进行包装。它是非常语义化的,并且开箱即用,零摆弄。可以使用其他 HTML 元素(或组合),但您可能需要特别注意保留换行符。

假设您的代码块标记使用 div:

要手动突出显示此类块:

如果不使用保留换行符(如pre)的标记,您将需要一些额外的 CSS 来帮助保留它们。您也可以使用插件预处理和后处理换行符,但我们建议使用 CSS

div使用 CSS保留换行符:

与 Vue.js 一起使用

请参阅highlightjs/vue-plugin以获取与 Highlight.js 配合使用的简单 Vue 插件。

vue-plugin行动中的一个例子:

 

使用网络工作者

您可以在 Web Worker 中运行突出显示,以避免在处理非常大的代码块时冻结浏览器窗口。

在您的主脚本中:

 

在 worker.js 中:

 

导入库

首先,您可能会通过npmyarn- 请参阅获取库来安装库。

节点.js / require

需要顶级库将加载所有语言:

对于较小的占用空间,请加载我们的通用语言子集(与我们的默认 Web 构建使用的相同)。

对于最小的占用空间,仅加载您需要的语言:

 

ES6 模块 / import

默认导入将注册所有语言:

 

仅导入库并注册您需要的语言会更有效:

 

如果您的构建工具处理 CSS 导入,您还可以将主题直接作为模块导入:

 

获取库

您可以将 highlight.js 作为托管或自定义构建的浏览器脚本或作为服务器模块获取。开箱即用的浏览器脚本支持 AMD 和 CommonJS,因此如果您愿意,可以使用 RequireJS 或 Browserify,而无需从源代码构建。服务器模块也可以与 Browserify 完美配合,但可以选择使用特定于浏览器的构建,而不是用于服务器的构建。

不要直接链接到 GitHub。该库不应该直接从源头开始工作,它需要构建。如果没有预先打包的选项适合您,请参阅构建文档。

在杏仁上。您需要使用优化器为模块命名。例如:

 

通过 CDN 获取

捆绑了许多常用语言的 Highlight.js 的预构建版本由几个流行的 CDN 托管。通过 CDN 使用 Highlight.js 时,您可以使用子资源完整性来提高安全性。有关详细信息,请参阅DIGESTS.md。

cdnjs (链接)

 

jsdelivr(链接)

 

解包(链接)

 

注意: CDN 托管的highlight.min.js包不会捆绑每种语言。它会非常大。您可以在我们的下载页面上找到我们默认捆绑的“常用”语言列表。

下载预构建的 CDN 资产

您还可以通过我们自己的 CDN 下载和自托管我们提供的相同资产。我们将这些构建发布到cdn-release GitHub 存储库。您可以使用 等轻松地从 CDN 端点中提取单个文件curl;如果说你只需要highlight.min.js一个 CSS 文件。

还有一个 npm 包@highlightjs/cdn-assets如果通过 vianpmyarn对您的构建过程更容易拉入资产。

从我们的网站下载

该下载页面可以快速生成精缩束只包括你想要的语言定制的单文件。

注意: 从源代码构建可以生成比网站下载稍小的构建。

通过 NPM 包安装

我们的 NPM 包包括所有支持的语言,可以通过 NPM 或 Yarn 安装:

 

或者,您可以从源代码构建 NPM 包。

从源代码构建

该电流源代码总是可以在GitHub上。

 

有关更多信息,请参阅我们的建筑文档。

要求

Highlight.js 适用于所有现代浏览器和当前支持的 Node.js 版本。您需要以下软件来为核心库做出贡献:

  • Node.js >= 12.x
  • npm >= 6.x

执照

Highlight.js 是在 BSD 许可下发布的。有关详细信息,请参阅我们的许可证文件。

链接

该库的官方网站是https://highlightjs.org/。

有关 API 和其他主题的进一步深入文档位于 http://highlightjs.readthedocs.io/。

可以在CONTRIBUTORS.md文件中找到核心团队和贡献者的列表。

 

 

声明:本站内容来源于原创和互联网,尊重作者版权,转载请注明来源网址,欢迎收藏,谢谢!