Hexo 能搭建出来好看的博客,但是如果你面临需要在 Hexo 博客中写出公式的需求来,就会发现hexo 对于公式很不友好(机器学习, CV, NLP 背景的童鞋一定会有这样强烈的需求)。期间,折腾了大半个周末也没搞定: 历经
npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save
等多次折腾,还修改了内部的.js 文件,公式依然没有得到很好的渲染,历经一番折腾,终于找到了一个靠谱的路径:
更换渲染工具为 hexo-renderer-pandoc 并辅之以 hexo-math plugin。
完美解决问题,并且立即生效,hexo s 指令得到的本地静态页面显示效果稳定。
1. 更换渲染工具为 hexo-renderer-pandoc
- 首先需要安装 pandoc
对于 mac OS
brew install pandoc
- 更换渲染工具为 hexo-renderer-pandoc
npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-pandoc --save
2. 安装 hexo-math 插件以支持 latex 公式
- 安装hexo-math 插件
npm install hexo-math --save
- 在hexo 博客中的 _config.yml 中添加 hexo-math 插件
markdown:
plugins:
- markdown-it-footnote
- markdown-it-sup
- markdown-it-sub
- markdown-it-abbr
- markdown-it-emoji
- hexo-math
3. 打开 主题 的 mathjax 开关
以目前最流行的 NeXT 为例, 打开 theme/next/_config.yml 文件,找到mathjax 位置, 设置为以下
# MathJax Support
mathjax:
enable: true
per_page: true
cdn: //cdn.bootcss.com/mathjax/2.7.1/latest.js?config=TeX-AMS-MML_HTMLorMML
# Han Support docs: https://hanzi.pro/
4. 在每一个博客中都打开 mathjax 开关
---
title: A Title
date: 2020-02-08 10:39:55
tags:
- tag1
- tag2
categories:
- parent
- child
mathjax: true
---
5. 重新编译以下
hexo clean
hexo generate
hexo s
现在就会发现公式一切正常
试验了网上好多关于 Hexo 中公式的教程,摸索出了这个经验, 十分见效。