为 Hugo 添加 MathJax 支持(重新编译 Hugo)
源码编译 Hugo (添加 MathJax 支持)
Hugo 默认使用 GoldMark 解析 Markdown 文件,因为 GoldMark 不支持复杂的 Markdown 数学表达式,比如 $\mathbf{v}*_{1}=\left[\begin{array}{r}-1* *\\**1\end{array}\right]$
按照官方的说法,markdown 使用下划线给字符添加黑体与斜体,而 lex 使用 下划线表示下标,二者冲突了
Goldmark 有插件可以解决这个问题,但不知为何 0.8 版没有使用 goldmark-mathjax 这个插件,所以为了完美支持 markdown 数学表达式,需添加这个插件并编译,执行过程如下:
- 修改 go proxy,使用国内的镜像更快:
go env -w GOPROXY=https://goproxy.cn,direct
- 使用这条命令需要 go 版本大于等于 1.13
git clone https://github.com/gohugoio/hugo.git
- 修改
markup/goldmark/convert.go
文件- 添加依赖,在 import 里添加:
mathjax "github.com/litao91/goldmark-mathjax"
- 注册插件,在调用
goldmark.New
之前添加:extensions = append(extensions, mathjax.MathJax)
- 添加依赖,在 import 里添加:
- 编译:
go build -o hugo main.go
- 拷贝可执行文件到 PATH 路径下即可