Hexo数学公式支持
简介
作为物理老师,我是不能离开数学公式的。最初我是想在博客上能发布一些物理公式,回答学生的一些问题,但是作为初入hexo的人,我选择了默认的landscape模板,于是决定在此默认模板上添加数学支持,但是折腾了两天要么在手机上可以显示公式,但是电脑上不能显示,要么在电脑上显示公式(不完美显示),但是在手机上却不能显示。所以在参考了大量网络文章后决定切换主题,使用别人修改好的主题,其中next主题广受好评,同时其风格也得到我的认可,其对数学公式的支持也最完美,所以我的博客自今日起采用next模板。首先展示一下数学公式:
行内公式:爱因斯坦的质能方程\(e=mc^2\)
行间公式:库仑定律
\[\begin{equation} F=k\frac{q_1q_2}{r^2} \end{equation}\]
安装next主题
1 | $git clone https://github.com/next-theme/hexo-theme-next ~/文档/hexo/theme/next |
启用next主题
在主配置文件 ~/文档/hexo/_config.yml 中将主题切换为 next
1 | # Extensions |
配置数学支持
- 卸载默认的公式渲染插件
1 | $npm uninstall hexo-renderer-marked --save |
- 安装next所需的公式渲染插件
1 | $npm install hexo-filter-mathjax --save |
按照hexo-filter-mathjax 官网 所述:
WARNING:No front-end scripts and other Math plugins are required.Remove them ALL before using this plugin.
所以我按照要求删除了默认的插件,同时如果按照网络上的其他文章,按装过其他插件也务必要删除干净。
按照next主题官网 仅安装渲染插件 hexo-renderer-pandoc 即可,官网说
hexo-renderer-pandoc is recommended because it can handle mathematical formulas in markdown documents perfectly.
- 由于插件 hexo-renderer-pandoc 需要pandoc支持,所以需要先在系统中安装pandoc
1 | $pacman -S pandoc |
- 开启数学公式功能
此处为了保险,按照next主题官网的配置进行.设置主题配置文件~/文档/hexo/themes/next/_config.yml
1 | math: |
在官网中设置 every_page: false ,其考虑的是在没有数学公式的情况下不开启mathjax 以提高网页加载速度。但是在测试进我发现,网页是正常,但是我在文章中使用了<--!more-->设置了摘要,一旦点开全部,则公式就不再被正确显示,而是显示的源码。所以我设置为 true 后,则所有页面匀加载mathjax ,公式可以正常显示。 同时,按官网介绍,开启数学标签,要设置 tags: none 为 tags: ams ,则到此已经正确设置完毕。
参考文档
在百度时会有很多文章介绍hexo设置公式,但是经测试没有成功,为了不过多的折腾,我直接按照next官网来设置了我的博客,但是参考文章依然列出如下:
- 首先附上官方网站 Math Equations
- 其次是我参考的文章 在HEXO主题中添加数学公式支持