Hexo渲染LaTeX公式

感谢博客:在Hexo中渲染MathJax数学公式、Hexo博客中使用Latex、在Hexo中渲染MathJax数学公式

Hexo渲染LaTeX公式关键

Hexo渲染主题的两个重要因素:mathjax和kramed,前者是数学公式渲染引擎,后者是Hexo的markdown渲染引擎,hexo默认渲染引擎是marked,但是它不支持mathjax,因此需要替换引擎。

一、Hexo添加mathjax
  1. 如果hexo安装有hexo-math,需要先卸载它。卸载命令:

    npm uninstall hexo-math --save
    
  2. 安装mathjax,安装命令:

    npm install hexo-renderer-mathjax --save
    
  3. hexo主题开启mathjax:

    进入主题目录,编辑_config.yml,开启mathjax:

    # MathJax Support
    mathjax:
      enable: true
      per_page: true
    
  4. hexo博客开启mathjax:

    博客文章的开头加入mathjax:true,具体如下:

    ---
    title: Hexo渲染LaTeX公式关键
    date: 2020-09-30 22:27:01
    mathjax: true
    --
    

二、hexo切换kramed引擎

  1. 卸载marked引擎

    npm uninstall hexo-renderer-marked --save
    
  2. 安装kramed引擎

    npm install hexo-renderer-kramed --save
    
  3. 修改引擎bug

    修改文件/node_modules\kramed\lib\rules\inline.jsescapeem两行,具体修改如下:

    //  escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
      escape: /^\\([`*\[\]()#$+\-.!_>])/,
    

    这一步是在原基础上取消了对,{,}的转义(escape)。
    同时把第20行的em变量也要做相应的修改。

    //  em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
      em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
    

    重新启动hexo:

    hexo clean && hexo g -d
    

    问题得到解决。

你可能感兴趣的:(Hexo渲染LaTeX公式)