Fluid 主题之数学公式
Fluid 主题之数学公式
在用markdown写技术文档时,总难免要写到数学公式。而常用的Markdown编辑器都会集成Mathjax,用来渲染文档中的类Latex格式书写的数学公式。但是基于Hexo搭建的个人博客,默认情况下渲染数学公式却会出现各种各样的问题。
一、原因
Hexo 默认使用 hexo-renderer-marked 引擎渲染网页,该引擎会把一些特殊的 markdown 符号转换为相应的 html 标签,比如在 markdown 语法中,下划线_
代表斜体,会被渲染引擎处理为<em>
标签。
因为类 Latex 格式书写的数学公式下划线_
表示下标,有特殊的含义,如果被强制转换为<em>
标签,那么 MathJax 引擎在渲染数学公式的时候就会出错。
类似的语义冲突的符号还包括*
, {
, }
, \\
等。
二、解决方法
1. 卸载默认引擎,并安装新的渲染引擎
1 |
|
2. 修改/node_modules/hexo-renderer-kramed/lib/renderer.js
注释formatText函数中的全部逻辑,直接将text返回
1 |
|
3. 修改hexo的渲染源码/node_modules/kramed/lib/rules/inline.js
1 |
|
4. 停止使用 hexo-math
,安装 hexo-renderer-mathjax
1 |
|
5. 更新 Mathjax
的 CDN
链接,打开/node_modules/hexo-renderer-mathjax/mathjax.html
,在最后一行添加js:
1 |
|
6. 修改主题配置,打开/source/_data/fluid_config.yml
文件
1 |
|
7. 在根目录下修改_config.yml
,添加
1 |
|
8. 在想要使用公式渲染的文章Front-matter
中打开MathJax
1 |
|
三、其他
参考于:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!