之前一直用的是MathTex来插入公式,不过,这个方式相当于插入了一张在线图片,显示效果不是很好。终于闲下来,有机会琢磨一下怎么用MathJax了。
配置MathJax
Step 1 安装插件
有大神写好的部署MathJax的插件,可以一键安装。在博客文件夹下执行:
npm install hexo-math --save
hexo math install
Step 2 修改转义字符
MathJax的语法会用到\\
等会被marked渲染引擎转义的字符,所以需要修改默认的转义字符。
定位到./node_modules/marked/lib/
中(也可能是:hexo\node_modules\hexo-renderer-marked\node_modules\marked\lib
),用文本编辑器打开marked.js
将
escape: /^\\([\\`*{}\[\]()# +\-.!_>])/,
改为
escape: /^\\([`*\[\]()# +\-.!_>])/,
将
em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
改为
em:/^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
如果到这里还是不起作用,只好暴力修改返回值了
将
return '<em>' + text + '</em>';
改为
return '_' + text + '_';
需要用斜体的话,就手动加em标签
MathJax 基本语法备忘
查了一下,已经有人总结的很好了,就不再做重复工作了。
Mathjax与LaTex公式简介 by Ryan Zhao