记录一下长久以来困扰我的公式渲染问题
问题描述
很早就有这个问题了,hexo
对公式的渲染莫名其妙会出现问题,自己在本地Typora
编辑器中渲染得都非常漂亮,但是一旦发布或者在本地服务器上预览就会出问题,本来的应该被渲染的公式可能没有被渲染或者被渲染到了别的地方。这次好好写的笔记又炸了,如下图所示:
主要的问题在于:
用来生成$\{\}$的代码
1
\{\}
中花括号的转义字符
\
会消失导致渲染失败下标转义字符
_
会偶尔消失,主要是行内公式由以上问题导致非公式文本会被渲染
太难看了,这次从网上找了解决方案,聊记于此,原因是原来的渲染包hexo-renderer-marked
不太行。。。我先自己更新了一下,发现问题没有改观,然后卸载之并安装hexo-renderer-kramed
,问题仍未改观。最后按照解决方案修改js
规则,总算🆗啦!
试错顺序
第一步观察是不是工具包未升级的问题:
1 | npm install -g npm |
第二步观察是不是新的工具包就好了:
1 | npm uninstall hexo-renderer-marked --save |
第三步按链接找到../node_modules/kramed/lib/rules/inline.js
中第11行和第20行并修改转义规则:
1 | //escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/, |
再重新渲染就🆗啦!
参考链接:
VitaHeng的博客hexo博客MathJax公式渲染问题,顺便发现这位大兄弟的主页了,前两年还有两篇文章,加油!
自己确实试了错,加了自己的探索过程,除了代码,我觉得不算转载。如果的确需要授权,请联系我商议解决~