起因
Hexo 自带的代码高亮插件 highlight.js
和 prism.js
提供的代码高亮太弱了,我最常用的 bash/shell 高亮几乎可以忽略不计,并且 python 的高亮也不是特别好看。
Shiki(式,一个日语词汇,意为 “样式”) 是一款美观而强大的代码语法高亮器,它与 VS Code 的语法高亮引擎一样,基于 TextMate 的语法及主题。Shiki 能为几乎所有主流编程语言提供非常准确且快速的语法高亮。
在 Github 上搜索 hexo-shiki,可以搜索到 hexo-shiki-plugin 库,正是可以将 shiki 集成到 hexo 的插件。在我使用过程中,还有根据切换 light 和 dark 主题的时候顺带切换代码块主题的需求,因此需要在设置上进行一下调整,记录一下。
配置 Hexo-shiki-plugin 插件
1、安装插件
2、配置插件
插件基本配置项请参照 GitHub - nova1751/hexo-shiki-plugin 设置。
支持双色主题的额外配置
1、在 source
目录下新建一个 css/custom.css
,添加以下样式:
2、设置 shiki 代码高亮主题为 material-theme-lighter
,经测试,该主题在亮暗双色代码块中显示均良好。
3、将上述 css 加入到 butterfly 主题的自定义样式表中:
效果
也可以通过点击本页右下角切换亮/暗来自行尝试。