0%

log20210820

20210820

为hexo的nexT主题添加了Latex公式的渲染,庆幸当初选用了nexT主题,网上的参考资料还是颇为丰富的

更换Hexo默认渲染引擎

hexo默认的渲染是hexo-renderer-marked,不支持mathjax,所以更换hexo的渲染引擎为hexo-renderer-kramed引擎,支持mathjax的公式输出

1
2
cnpm uninstall hexo-renderer-marked --save
cnpm install hexo-renderer-kramed --save

可以用npm,但是cnpm更快

cnpm的安装

1
npm install -g cnpm --registry=https://registry.npm.taobao.org

检查是否安装成功

1
cnpm -v

激活mathjax

文件路径为: next主题下的_config.yml
更改内容

1
2
3
4
5
# MathJax Support
mathjax:
enable: true
mhchem: true

修改kramed语法解释

文件路径为:根文件夹下的node_modules/kramed/lib/rules/inline.js
修改了escape,strong,em.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var inline = {
escape: /^\\([`*\[\]()#$+\-.!_>])/,
autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
url: noop,
html: /^<!--[\s\S]*?-->|^<(\w+(?!:\/|[^\w\s@]*@)\b)*?(?:"[^"]*"|'[^']*'|[^'">])*?>([\s\S]*?)?<\/\1>|^<(\w+(?!:\/|[^\w\s@]*@)\b)(?:"[^"]*"|'[^']*'|[^'">])*?>/,
link: /^!?\[(inside)\]\(href\)/,
reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
reffn: /^!?\[\^(inside)\]/,
strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
br: /^ {2,}\n(?!\s*$)/,
del: noop,
text: /^[\s\S]+?(?=[\\<!\[_*`$]| {2,}\n|$)/,
math: /^\$\$\s*([\s\S]*?[^\$])\s*\$\$(?!\$)/,
};

markdown文本开头添加语句

在markdown开头添加

1
mathjax: true

参考链接