Hexo报错Template render error: tag name expected

问题

在发上一篇《Python 3 学习笔记》时,每次执行hexo shexo g,都会报错:

FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
Template render error: tag name expected
    at Error.exports.TemplateError (E:\hexo\node_modules\hexo\node_modules\nunjucks\src\lib.js:51:19)
    at Object.extend.fail (E:\hexo\node_modules\hexo\node_modules\nunjucks\src\parser.js:64:15)
    at Object.extend.parseStatement (E:\hexo\node_modules\hexo\node_modules\nunjucks\src\parser.js:510:18)
.......其余省略

原因

文中有这句话:

在Jinja2中,用{% ... %}表示指令

其中{%和%}被当成hexo模板中的标签,解析出错。


解决

将它用如下代码包住:

1
2
{% raw %}
{% endraw %}

修改后的Markdown原文:

1
在Jinja2中,用`{% raw %}{% ... %}{% endraw %}`表示指令

效果:
在Jinja2中,用{% ... %}表示指令


补充

用```包住的代码块不需要这样特殊处理。

loveNight wechat
我的微信公众号,放一些有趣的内容,不定期更新。