如何给自己的博客添加MLIR和LLVM IR语法高亮
为什么会有这个问题呢😅?经常看过我博客的人应该都知道,我之前写过不少有关MLIR和LLVM的博客,但Hexo使用的highlight.js只能渲染LLVM IR,MLIR IR就会自动降级为Plaintext
这种情况在Hexo上也还可以接受,但转到Astro上后,Shiki的代码渲染给我感觉就笨的多:不仅对于语言名称大小写不敏感,导致早年写的一堆代码无法渲染渲染😅连LLVM IR的渲染也给我搞没了。
这忍不了了,得好好处理下😅
添加语法文件
看下Shiki和Expressive Code的文档很容易理解,难点在于如何找到合适的json格式TextMate文件进行导入
syntax-highlighting/#configuration
这里有个小技巧:可以去VS Code的插件里面找对应语言的语法高亮插件,那些插件的仓库里多半有描述语法的json文件
LLVM IR -> colejcummins/llvm-syntax-highlighting
MLIR IR -> llvm/vscode-mlir
Note: Shiki自己的语法描述文件是放在 shikijs/textmate-grammars-themes 这个仓库里的
载入
参考这个commit,理论上使用Shiki进行渲染的系统都可以参照这个进行操作:
feat: add support for LLVM IR and MLIR IR syntax highlighting in markdown,
最终效果
其实就是这篇文章:如何愉快的运行一个MLIR程序
评论