不写数学公式跟咸鱼有什么区别。

1 公式渲染

{{}}{% %}会导致解析Bug。(尤其在使用数学公式时需注意)

官方给出的解决方案为:

{% raw %}
{{Balabala}} or {% Balabala %}
{% endraw %}

然而这样十分不利于博客的迁移。

解决解决方案:

  1. 更换默认的渲染引擎:
    npm uninstall hexo-renderer-marked --save
    npm install hexo-renderer-kramed --save
    
  2. 修改\node_modules\kramed\lib\rules\inline.js路径中的代码如下:
    var inline = {
    //escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
    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: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
    em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
    code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
    br: /^ {2,}\n(?!\s*$)/,
    del: noop,
    text: /^[\s\S]+?(?=[\\<!\[_*`$]| {2,}\n|$)/,
    math: /^\$\$\s*([\s\S]*?[^\$])\s*\$\$(?!\$)/,
    };
    
  3. 在使用双花括号{ {{ \{时中间添加一个空格即可。