0%

解决hexo-next主题和mathjax下划线冲突问题

mathjax 中下划线是下标符号,而 markdown 中是斜体符号,所以会出现冲突。

解决办法就是首先替换公式渲染引擎:

1
2
npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save

之所以不用 pandoc 是为了习惯吧,但是 hexo-renderer-kramed 只能够解决单行的渲染问题,行内的仍然会出问题,需要手工矫正一下:

修改 node_modules\kramed\lib\rules\inline.js

修改第 11 行

1
2
// escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
escape: /^\\([`*\[\]()#$+\-.!_>])/,

修改第 20 行:

1
2
// em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

重启 hexo

1
2
hexo clean 
hexo g

参考资料