hexo渲染数学公式
渲染引擎下载
更换Hexo的markdown渲染引擎
- hexo-renderer-marked: 默认的渲染引擎
- hexo-renderer-kramed: 默认引擎的基础上修改了一些bug,两者比较接近,也比较轻量级。
1 | # 卸载原来的 |
这样行间公式就可以正确渲染了,但是行内公式的渲染还是有问题,因为hexo-renderer-kramed引擎也有语义冲突的问题。
配置引擎
接下来到博客根目录下,找到node_modules\kramed\lib\rules\inline.js
把第11行的escape变量的值做相应的修改:(在原基础上取消了对,{,}的转义(escape))
1
2// escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
escape: /^\\([`*\[\]()#$+\-.!_>])/同时把第20行的em变量也要做相应的修改。
1
2// em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/
在主题中开启mathjax开关
以next主题为例, 在主题(Theme)中开启mathjax开关
进入到主题目录,找到_config.yml配置文件,把mathjax默认的false修改为true,具体如下:
1 | # MathJax Support |
在文章中使用
在文章的Front-matter里打开mathjax开关
1 | --- |
之所以要在文章头里设置开关,是因为考虑只有在用到公式的页面才加载 Mathjax,这样不需要渲染数学公式的页面的访问速度就不会受到影响了。