Highlight.js
Highlight.js 是一个流行的客户端语法高亮库,支持广泛的语言。
激活 highlight.js
要激活 highlight.js,请在 AsciiDoc 文件的头部添加以下属性条目
:source-highlighter: highlight.js
默认情况下,Asciidoctor 会链接到托管在cdnjs上的 highlight.js 库和样式表。Asciidoctor 从 CDN 加载的 highlight.js 库版本仅包含对通用语言包(apache、bash、coffeescript、cpp、cs、css、diff、http、ini、java、javascript、json、makefile、markdown、nginx、objectivec、perl、php、properties、python、ruby、shell、sql、xml 和 yaml)的支持。
更改主题
主题控制着高亮代码中 token(关键字、字符串、方法等)使用的颜色。默认情况下,highlight.js 配置为使用 github 主题。您可以通过设置 highlightjs-theme 属性来更改 highlight.js 使用的主题。
:source-highlighter: highlight.js
:highlightjs-theme: monokai
主题是从 CDN 加载的,因此 highlight.js 支持的版本所支持的任何主题都将被支持。请参考 cdnjs.com/libraries/highlight.js/9.18.3 获取主题列表(按资源类型:样式过滤)。highlightjs-theme 属性的值是文件名不含 .min.css 文件扩展名的基本名称。
加载对其他语言的支持
要加载 highlight.js 支持的其他语言,请在 highlightjs-languages 文档属性的值中列出它们。每种语言之间用逗号和可选的空格分隔。
通用的 highlight.js 包不包含对 Rust 和 Swift 的支持。让我们设置 highlightjs-languages 属性,以便 HTML 转换器将对它们的(支持)加载到 HTML 页面中。
:source-highlighter: highlight.js
:highlightjs-languages: rust, swift
highlightjs-languages 属性仅在生成独立的 HTML 文档时(即,backend: html, standalone: true)适用。在生成嵌入式 HTML 时,它不起作用,而嵌入式 HTML 用于 Antora 等网站生成器集成。
使用自定义 highlight.js 库
如果您宁愿使用自己的 highlight.js 副本而不是 CDN 上托管的版本,请按照以下步骤操作
-
在下载页面上创建您的自定义包。
-
将 zip 文件下载并解压到一个名为 highlight 的文件夹中,该文件夹与您的 AsciiDoc 文件相邻(或者在输出目录中,如果不同)。
-
将 highlight/highlight.pack.js 重命名为 highlight/highlight.min.js
-
将 highlight/styles/github.css 重命名为 highlight/styles/github.min.css
-
如果使用的
highlightjs-theme名称不同,请将github替换为您正在使用的highlightjs-theme的名称。
-
-
在 AsciiDoc 文件的头部添加属性条目
:highlightjsdir: highlight。-
或者,您可以在调用 Asciidoctor CLI 时传递
-a highlightjsdir=highlight标志。
-
输出文件将使用您的 highlight.js 库和样式表的个人副本,而不是 cdnjs 上的副本。