hexo开启Mathjax语法渲染配置折腾记
Mathjax介绍
  
hexo默认的渲染器是marked,并不支持mathjax。kramed是在marked基础上修改的,支持了mathjax。在的hexo工程目录下的node_modules中可以找到对应的渲染器文件夹。同时在你的工程目录下用以下命令安装kramed。另外补充一个NexT配置中推荐的渲染器hexo-renderer-pandoc,功能很强大不仅可以渲染markdown,还支持textile、reStructedText等许多其他格式
# 安装渲染器 ## 卸载默认渲染器 1
npm uninstall hexo-renderer-marked --save
1
npm install hexo-renderer-kramed --save
npm install hexo-renderer-pandoc --save如果是在安卓手机termux里面部署网站这个插件不能使用,因为必装pandoc,termux安装pandoc不成功。
安装hexo-renderer-mathjax插件
如果安装了hexo-math插件,需要卸载再安装。 ## 卸载hexo-math插件
1
npm uninstall hexo-math --save
1
npm install hexo-renderer-mathjax --save
更新mathjax的CDN链接,打开node_modules/hexo-renderer-mathjax/mathjax.html
1  | <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script>  | 
主题配置
math: enable: true #开启
engine: mathjax 取消注释
文章Front-matter中开启mathjax
1  | ---  | 
测试
下面来测试一下
##麦克斯韦方程组 1
2
3
4
5
6
7
8$$
\begin{eqnarray}
\nabla\cdot\vec{E} &=& \frac{\rho}{\epsilon_0} \\
\nabla\cdot\vec{B} &=& 0 \\
\nabla\times\vec{E} &=& -\frac{\partial B}{\partial t} \\
\nabla\times\vec{B} &=& \mu_0\left(\vec{J}+\epsilon_0\frac{\partial E}{\partial t} \right)
\end{eqnarray}
$$
$$ \begin{eqnarray} \nabla\cdot\vec{E} &=& \frac{\rho}{\epsilon_0} \\ \nabla\cdot\vec{B} &=& 0 \\ \nabla\times\vec{E} &=& -\frac{\partial B}{\partial t} \\ \nabla\times\vec{B} &=& \mu_0\left(\vec{J}+\epsilon_0\frac{\partial E}{\partial t} \right) \end{eqnarray} $$
1  | $$\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.$$  | 
Γ(z) = ∫0∞tz − 1e−tdt .
1  | $$  | 
$$ \frac{\partial u}{\partial t} = h^2 \left( \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2}\right) $$
1  | $$  | 
$$ f(n)=\begin{cases} n/2, & \text{如果$ x<=2 $}\\ 3n+1, & \text{如果$ x>2 $} \end{cases} $$
标题Latex特性测试
1. Setext 形式
1  | H1  | 
H1
H2
= 和 - 的数量是没有限制的。通常的做法是使其和标题文本的长度相同,这样看起来比较舒服。或者可以像我一样,用四个 - 或 =。 Setext 形式只支持 h1 和 h2 两种标题。
- atx 形式 #####① 可以用对称的 # 包括文本:##### ####H4####
1
2
3####H4####
#####H5##### 
#####H5#####
② 也可以只在左边使用 #:
1  | ####H4  | 
####H4
#####H5
③ 成对的 # 左侧和只在左边使用的 #
左侧都不可以有任何空白,但其内侧可以使用空白。 1
2
3 ###左侧使用了空格###
#### 内侧使用了空格