Hexo渲染数学公式
2022-03-01 18:24:13

原文地址:如何在hexo中支持Mathjax - 简书 (jianshu.com)

  1. 卸载Marked渲染器,安装hexo-renderer-kramed渲染器。

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

    然后,更改/node_modules/hexo-renderer-kramed/lib/renderer.js,更改

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

    1
    2
    3
    4
    // Change inline math rule
    function formatText(text) {
    return text;
    }
  2. 更改默认转义规则:因为 hexo 默认的转义规则会将一些字符进行转义,比如 _ 转为 , 所以我们需要对默认的规则进行修改.

    1
    vi node_modules/kramed/lib/rules/nline.js
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // 替换11行
    escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
    //修改为
    escape: /^\\([`*\[\]()# +\-.!_>])/,

    //替换20行
    em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
    //修改为
    em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
  3. 在博客html的head中加载Katex的CSS样式。

    1
    vi themes/next/layout/_partial/head.swig

    添加:

    1
    <link href="https://cdn.bootcss.com/KaTeX/0.7.1/katex.min.css" rel="stylesheet">

    或者为了加速访问,将css以及字体包直接放入本地。

  4. 最后重新编译部署。

    可能会提示插件markdown-it-katex不存在,使用命令npm install markdown-it-katex --save安装即可。

上一页
2024-11-09 22:16:19
下一页