如何在 hexo 中支持 Mathjax?
2017-11-29 21:40
113 查看
Github 地址
简书地址
CSDN地址
在 hexo 中,你会发现我们不能用
然后,更改/node_modules/hexo-renderer-kramed/lib/renderer.js,更改:
为:
然后安装 hexo-renderer-mathjax 包:
然后,把
首先, 打开
更改为:
把
更改为:
这一步可选,在博客中开启
通过以上步骤,我们就可以在
简书地址
CSDN地址
在 hexo 中,你会发现我们不能用
Latex语法来书写数学公式,这对于书写学术博客来说是很大的不便,因为我们会经常碰到很多的数学公式推导,但是我们可以通过安装第三方库来解决这一问题。
第一步: 使用Kramed代替 Marked
hexo默认的渲染引擎是
marked,但是
marked不支持
mathjax。
kramed是在
marked的基础上进行修改。我们在工程目录下执行以下命令来安装
kramed.
npm uninstall hexo-renderer-marked --save npm install hexo-renderer-kramed --save
然后,更改/node_modules/hexo-renderer-kramed/lib/renderer.js,更改:
// Change inline math rule function formatText(text) { // Fit kramed's rule: $$ + \1 + $$ return text.replace(/`\$(.*?)\$`/g, '$$$$$1$$$$'); }
为:
// Change inline math rule function formatText(text) { return text; }
第二步: 停止使用 hexo-math
首先,如果你已经安装hexo-math, 请卸载它:
npm uninstall hexo-math --save
然后安装 hexo-renderer-mathjax 包:
npm install hexo-renderer-mathjax --save
第三步: 更新 Mathjax 的 CDN 链接
首先,打开/node_modules/hexo-renderer-mathjax/mathjax.html然后,把
<script>更改为:
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script>
第四步: 更改默认转义规则
因为hexo默认的转义规则会将一些字符进行转义,比如
_转为
<em>, 所以我们需要对默认的规则进行修改.
首先, 打开
escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
更改为:
escape: /^\\([`*\[\]()# +\-.!_>])/,
把
em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
更改为:
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
第五步: 开启mathjax
在主题_config.yml中开启 Mathjax, 找到
mathjax字段添加如下代码:
mathjax: enable: true
这一步可选,在博客中开启
Mathjax,, 添加以下内容:
--- title: Testing Mathjax with Hexo category: Uncategorized date: 2017/05/03 mathjax: true ---
通过以上步骤,我们就可以在
hexo中使用
Mathjax来书写数学公式。
相关文章推荐
- 如何在 hexo 中支持 Mathjax?
- 如何在 hexo 中支持 Mathjax?
- 如何为自定义属性提供表达式绑定支持
- WINCE6.0如何实现对泰语显示的支持
- 如何使用Hexo建立自己的Github Pages博客
- [转]:如何让PowerDesigner支持自动生成含SQL Server 2000的表和列注释
- 计算机是如何支持中文的? ――国际化和本地化、字符集和编码等问题解析
- Scrum项目如何获得管理层的支持和合作
- CCLabelTTF 如何支持换行符和换行
- 如何让wince支持自动IDLE、sleep模式?
- 跟我一起学如何在ASP.net 2.0中实现多语言支持
- 教你如何使用EXCEL中的lookup函数(摘自“MS帮助和支持”)
- VC++6.0如何设置使其支持Unicode编程
- Eclipses 如何支持CMake Project
- Qt Creator中如何添加C++0x支持
- 如何搭建一个独立博客——简明Github Pages与Hexo教程
- .Net中的异步编程模式 (APM) (三): 如何实现支持APM的设备操作
- 如何让你的Hexo博客网址使用全英文路径
- 如何解决实际错误:配置IIS使其支持SSL加密的HTTPS,并且要求浏览器客户端证书
- 如何做好售前技术支持工作