前言
在使用next主题的过程中,碰到写的markdown中有LaTeX公式不显示的问题,遂查找资料解决。现已解决,将笔记记录于此。使用的next主题版本是Release v7.8.0。
第一步 更换Hexo默认渲染引擎
hexo 默认的渲染引擎是 marked,但是 marked 不支持 mathjax。所以需要更换Hexo的markdown渲染引擎为hexo-renderer-kramed引擎,后者支持mathjax公式输出。
cnpm uninstall hexo-renderer-marked --save
cnpm install hexo-renderer-kramed --save
git bash操作
注意:使用npm
也是可以的,不过cnpm
更快,使用cnpm
前需要先安装cnpm
,方法如下:
nodejs自带npm包管理工具,可在cmd中查看npm版本。但是这个东东下载东西太慢,弃之不用,利用npm安装cnpm。在cmd命令行输入:
npm install -g cnpm --registry=https://registry.npm.taobao.org
在cmd输入cnpm -v
查看是否安装成功
cnpm -v
第二步 在你的hexo主题文件夹下的配置文件中激活mathjax
#文件路径
/blog/themes/next/config.yml
#修改内容
# MathJax Support
mathjax:
enable: true
per_page: false
next/config.yml配置
第三步 修改kramed语法解释
#文件路径
/blog/node_modules/kramed/lib/rules/inline.js
#修改内容
#只修改了escape/strong/em
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])+?)\*(?!\*)/,
node_modules/kramed/lib/rules/inline.js配置
第四步 在你的markdown文本开头添加语句
#添加在开头
mathjax: true
typora使用头部配置
第五步 完成
hexo clean
hexo g
hexo s
更新部署个人博客
参考资料
[1] Loy_Fan. 在HEXO博客中使用LaTeX公式的简单方法. CSDN博客. 2019. https://blog.csdn.net/weixin_43318626/article/details/89407031
[2] ayzp. 个人博客hexo+github搭建. 2020. https://ayzp.github.io/2020/04/11/个人博客hexo-github搭建/#more
网友评论