Hexo渲染数学公式
2022-03-01 18:24:13
原文地址:如何在hexo中支持Mathjax - 简书 (jianshu.com)
卸载Marked渲染器,安装hexo-renderer-kramed渲染器。
1
2npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save然后,更改/node_modules/hexo-renderer-kramed/lib/renderer.js,更改
1
2
3
4
5// Change inline math rule
function formatText(text) {
// Fit kramed's rule: $$ + \1 + $$
return text.replace(/`\$(.*?)\$`/g, '$$$$$1$$$$');
}为
1
2
3
4// Change inline math rule
function formatText(text) {
return text;
}更改默认转义规则:因为 hexo 默认的转义规则会将一些字符进行转义,比如 _ 转为 , 所以我们需要对默认的规则进行修改.
1
vi node_modules/kramed/lib/rules/nline.js
1
2
3
4
5
6
7
8
9// 替换11行
escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
//修改为
escape: /^\\([`*\[\]()# +\-.!_>])/,
//替换20行
em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
//修改为
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,在博客html的head中加载Katex的CSS样式。
1
vi themes/next/layout/_partial/head.swig
添加:
1
<link href="https://cdn.bootcss.com/KaTeX/0.7.1/katex.min.css" rel="stylesheet">
或者为了加速访问,将css以及字体包直接放入本地。
最后重新编译部署。
可能会提示插件
markdown-it-katex
不存在,使用命令npm install markdown-it-katex --save
安装即可。