highlight.js使用补充

最近做GitLink时需要用到代码高亮,所以研究了下highlight.js,发现了使用中的一些问题,记录一下。

https://static.1991421.cn/2025/2025-03-25-235551.jpeg

导入highlight.js

如果是WEB网页想CDN导入,或者直接src导入,并不应该直接使用highlight.js的资源,而是应该使用highlightjs/cdn-release

如果是牵扯构建工具,则应该使用highlight.js的npm包。

注册语言

  1. 导入highlight.js并不会注册所有highlight.js中的语言,如果想注册所有语音,需要自己导入并进行注册。
  2. 以highlight.js的npm包为例/highlight.js/es/languages /,可以看到所有语言的文件,如果需要注册所有语言,则需要导入所有语言的文件。
  3. 除了官方语言,还可以注册自定义语言。比如官方repo提供的一些语言包,如highlightjs-4d
  4. 目前官方内置的语言清单,见https://github.com/highlightjs/highlight.js/blob/main/SUPPORTED_LANGUAGES.md

自动识别语言

除了highlight方法,还有highlightAuto用于不确定语言时使用。

显示行号

highlight.js原生是没支持显示行号的,需要引入第三方插件支持,如highlightjs-line-numbers.js

写在最后

以上就是我使用highlight.js时遇到的一些问题,行许还有其他问题,欢迎交流。