Hexo博客中使用Latex


博客中不支持Latex是万万不行滴,而Hexo默认的渲染引擎是marked,但是marked不支持mathjax,所以需要更换Hexo的渲染引擎为hexo-renderer-kramed,主要步骤如下:

安装Kramed

npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save

更改文件配置

打开/node_modules/hexo-renderer-kramed/lib/renderer.js
将:

// Change inline math rule
function formatText(text) {
    // Fit kramed's rule: $$ + \1 + $$
    return text.replace(/`\$(.*?)\$`/g, '$$$$$1$$$$');
}

修改为:

// Change inline math rule
function formatText(text) {
    return text;
}

停用hexo-math并安装mathjax

卸载hexo-math

npm uninstall hexo-math --save

安装hexo-renderer-mathjax

npm install hexo-renderer-mathjax --save

更新Mathjax配置文件

打开/node_modules/hexo-renderer-mathjax/mathjax.html
将最后一行的<script>改为:

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script>

更改默认转义规则

因为LaTeX与markdown语法有语义冲突,所以 hexo 默认的转义规则会将一些字符进行转义,所以我们需要对默认的规则进行修改.
打开/node_modules\kramed\lib\rules\inline.js
更改后为:

escape: /^\\([`*\[\]()#$+\-.!_>])/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

在这里插入图片描述

开启mathjax

打开主题目录下的config.yml文件(注意这里是所使用主题的yml文件,不是hexo的yml文件)
加入下面这句:

mathjax: true

并且写博客的时候需要开启Latex就需要加上头开启Mathjax:
例如:

title: Python向信号中添加不同强度dB的噪声
date: 2019-10-23 14:05:37
tags: [噪声, ECG]
categories: [Python]
mathjax: true

个人主页欢迎访问

参考文档

使用LaTex添加公式到Hexo博客里

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值