hugo 的代码高亮工具 chroma
今天在配置语法高亮的时候,发现 hugo 主题并没有自带 hightlight.js 的引用,但是还是存在默认的语法高亮。
F12 发现 html 代码里 <pre> -> <code>
这个层级下面还有存在一些其他的元素和 tag,切割了代码 tag 的整体。
如图:
后面搜到 hugo 使用了 Chroma 作为基础的高亮工具,在生成 html 的阶段就做好高亮的解析,而不是等到用户请求的时候再执行高亮处理。
配置代码高亮的方法也比较简单,在网站的配置文件中加上 markup 即可。
[markup]
[markup.highlight]
anchorLineNos = false
codeFences = true
guessSyntax = false
hl_Lines = ''
hl_inline = false
lineAnchors = ''
lineNoStart = 1
lineNos = false
lineNumbersInTable = true
noClasses = true
noHl = false
style = 'colorful'
tabWidth = 2
其中 chroma 支持多种 style,具体见 链接。