0%

Hexo博客的数学公式渲染

不同的主题可能内置不同的支持,不过下面的方法基本是通用的,这里我首先用的是next主题。

配置

1、内置前端mathjax渲染

这里是next的前端渲染,由于网络问题很慢 能渲染 但是只能渲染一点点,似乎只有内联公式。不推荐这种方式。

2、更换默认的渲染器

不管怎么样,内置的渲染器首先没啥用。 npm uninstall hexo-renderer-marked --save

下面有两种渲染器都可以实现,我在这里都介绍一下.

hexo-renderer-markdown-it-plus

这个插件有两个版本,有的教程说要下载另外一个fork的版本,但是实测还是原版的渲染更准确。 卸载原来的默认渲染器之后直接执行

npm i hexo-renderer-markdown-it-plus --save

理论上说这样就行了,我也确实渲染出来了,但是我会出现重复渲染,据说是有冲突,但是我怎么也没找出来。。。。.

这个会渲染为html元素,可惜我没解决渲染重复的问题。这个渲染器也支持更多更好的功能,例如脚注。

hexo-renderer-pandoc

1、电脑上需要安装pandoc Releases · jgm/pandoc (github.com) 从github release下载。

安装之后不需要重启电脑,但是需要重新打开终端,否则环境变量不会加载。如果没有正确安装或者重新打开终端后执行hexo g,会出现报错:pandoc exited with code null

2、

npm install hexo-renderer-pandoc --save
npm install hexo-filter-mathjax # 这个插件用于后端渲染mathjax

pandoc的行间公式会被渲染为一整张svg图片,原则上来说svg应该也是会保持清晰,不过我这里看起来有些锯齿。

这个方法复杂一些,而且渲染也稍微慢一些,但是目前我能用,所以就保持这个方法了。

数学公式书写

注意$...$ 之间的内容和$不要有空格或者多余换行,行间公式换行之后紧接公式内容。

公式测试

行间公式: 内联公式: 其中, 是噪声密度

参考链接

为hexo博客更换pandoc渲染 | Black Flies (yyyzyyyz.cn) 他的内容更为详细。