在Octopress中添加MathJax

有些时候写博客需要用到数学公式,需要对Octopress的设置进行更改,才能较好的完成公式的显示

步骤如下:

  1. 安装Kramdown解析器(因为其对MathJax的支持较好),在GemFile文件中添加gem 'kramdown', '~>0.13.8',保存,执行bundle install 即可;当然也可以用一步命令gem install kramdown;

  2. _config.yml中修改markdown解析器,将markdown: rdiscount 换为 markdown: kramdown,保存,之所以这么做是因为前者对于MathJax的解析不如后者好;

  3. source/_includes/custom/head.html中,加入以下脚本,从而使得MathJax能够被使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!-- MathJax -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
processEscapes: true
}
});
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
}
});
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Queue(function() {
var all = MathJax.Hub.getAllJax(), i;
for(i=0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
</script>
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

测试显示效果

1
$$ a^2 + b^2 = c^2 $$

$$ a^2 + b^2 = c^2 $$