hexo个人博客next主题使用LaTeX公式

前言

在使用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

在这里插入图片描述

注意:使用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

在这里插入图片描述

第三步 修改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])+?)\*(?!\*)/,

在这里插入图片描述

第四步 在你的markdown文本开头添加语句

#添加在开头
mathjax: true

在这里插入图片描述

第五步 完成

hexo clean
hexo g
hexo s

在这里插入图片描述

参考资料

[1] Loy_Fan. 在HEXO博客中使用LaTeX公式的简单方法. CSDN博客. 2019. https://blog.csdn.net/weixin_43318626/article/details/89407031

扫描二维码关注公众号,回复: 11619108 查看本文章

[2] ayzp. 个人博客hexo+github搭建. 2020. https://ayzp.github.io/2020/04/11/个人博客hexo-github搭建/#more

猜你喜欢

转载自blog.csdn.net/ALexander_Monster/article/details/105717091