在使用 Hexo 调试时,一直出现 Template render error: unexpected token: }} 的异常,显然是出现了特殊字符导致无法解析。
现象
在上一篇 Python 利用 Jinja2 模版生成文件 中,每次执行 hexo s 或 hexo g,都会报错:
1 | FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html |
原因
原文中有这句话:
先创建一个包括
{{ }}或{% %}等特殊符号的模板文件
出错时 Markdown 原文是这样的:
1 | 先创建一个包括 `{{ }}`或 `{% %}` 等特殊符号的模板文件 |
其中 {{ }} 和 {% %} 被当成 hexo 模板中的标签,解析出错。
解决方法
Github 上给出的方法是在需要显示 {{ }} 符号的地方用如下代码包围:
1 | {% raw %} |
标记这部分不需要解析。
- 修改后的 Markdown 原文
1 | 先创建一个包括 `{%} {{ }} {%}` 或 `{%} {% %} {%}` 等特殊符号的模板文件 |
- 解决后的效果
先创建一个包括 {{ }} 或 {% %} 等特殊符号的模板文件
虽然有点麻烦,但也算临时解决了这个问题,这是个已知 bug ,希望后续的版本能修复吧,毕竟使用太多 hexo 专属的标签对博客以后的迁移、改版什么的来说还是很麻烦的。
- 补充
用 ``` 包围的代码块不需要这样特殊处理。
参考: