Hexo 踩坑记录

公式渲染

公式渲染是最麻烦的一个坑,Hexo官方自带的渲染引擎marked完全没法用,需要更换到其他的渲染引擎,我第一个尝试的是kramed:

kramed

卸载自带的marked,安装kramed

1
2
npm un hexo-renderer-marked --save
npm i hexo-renderer-kramed --save
然后需要修改文件node_modules\kramed\lib\rules\inline.js
1
2
3
4
//  escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
escape: /^\\([`*\[\]()#$+\-.!_>])/
// em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/
在做了这些修改之后,LaTeX中的一些字符仍然会和Markdown本身的特殊符号相冲突。比如*这个符号,在LaTeX的公式书写中非常常见,但kramed会将其解析为Markdown中的加粗符号,导致出现一系列的问题。

pandoc

然后我就改用了pandoc.

首先需要去官网下载安装pandoc软件,然后将其命令所在的目录加入到系统环境变量中去(按照不同的操作系统具体来操作)。 然后在npm中安装hexo-renderer-pandoc

1
2
3
npm un hexo-renderer-marked --save
npm un hexo-renderer-kramed --save
npm i hexo-renderer-pandoc --save

还需要在主题的配置文件_config.yml中打开mathjax的开关

1
2
3
mathjax:
enable: true
per_page: true

以及在文章的头部打开mathjax开关

1
2
3
4
---
tags:
mathjax: true
--
这样就可以正常渲染各种公式了。

主题设置


Hexo 踩坑记录
https://quantum-cyborg.github.io/2021/08/03/CS/Blog/Hexo Problems/
发布于
2021年8月3日
许可协议