今天在写博客的时候遇到了输入数学公式的问题。不想用图片,想用Latex语法写。
但是上传到github page不能显示。
于是想到了和我的博客评论一样的思路(我的博客使用的是Disqus外挂评论,因为本质上Github Page支持的都是静态页面),那么是不是有什么外挂Javascript的方案支持跨浏览器的内容渲染呢?于是再次验证了这一行的铁律:凡是你想到的都有人实现过了,可以用MathJax渲染。
搜索后发现需要在pelican的theme文件中找到一个base.html文件。在其<head>中加入

1
2
3
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

OK,完美解决。

如何解决不能用 $…$ 来写行内公式呢?

1
2
3
4
5
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
});
</script>

参见官方文档


用Jekyll的大体一样:
在Jekyll文件结构中,根模板的位置在_layout中(看过web框架代码的人应该比较好理解Jekyll的文件布局),在安装了某些模板插件的Jekyll目录下,有可能位于:

_include/themes/yourtheme/default.html

总之认准文件名default.html,然后替换默认的Markdown引擎为kramdown
编辑_config.yml, markdown: kramdown

sudo gem install kramdown

现在你可以在\$\$和\$\$之间书写数学公式的语法了。


参考资料:

  1. 基于 ASCIIMathML.js 的 is-programmer 博客数学公式书写及显示
  1. MathJax:不错的数学公式显示引擎
  1. Pelican数学公式显示
  1. Mathjax与LaTex公式简介

Comments

⬆︎TOP