hexo博客运行报错:‘Nunjucks Error: expected variable end’解决方案

错误**Nunjucks Error: expected variable end**发生是因为 Hexo 使用的模板引擎(Nunjucks)试图解析 LaTeX / 数学方程作为代码变量。
起因
md代码片段
1 | ... \dfrac{\left(1-k\right)\,{y}^{2}}{{r}^{2}} ... |
你有双卷括号 {{` 和 `}}( 例如, 在{{r}^{2}} 中)。Nunjucks 使用 {{ }} 来评估变量。遇到 {{r} 时,它以为你在输出变量,但因为大括号内的语法与标准 JavaScript/Nunjuck 不符,它会抛出致命的预期变量结束错误。
解决方案
只要在公式里所有出现连续两个大括号 {{` 或 `}} 的地方,中间加一个空格,变成 { { 和 } } 即可。LaTeX 在数学模式下是完全忽略空格的,所以公式长相不会变,但 Hexo 就不会把它当成变量报错了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Cucumber的Blog!
评论




