# 事件起因
在记录一篇 python3 的字符串格式化的四种方式的笔记后,发现无法使用 hexo g
进行渲染,错误如下:
location: '_posts/Code/python/default/str_format.md [Line 22, Column 644]',
type: 'parseAggregate: expected colon after dict key'
搜索后发现是 {{ 、 }}
字符引起的渲染问题,定位问题后发现是如下位置导致:
然后经过一系列尝试最终发现了解决办法。
# 解决办法
# 普通文本中出现
- 比较容易实现但是不太完美的办法
在连续两个{
或者}
中间加上空格,这样虽然能解决渲染问题,但是有时候中间加空格会导致错误
特别是在代码中,中间加了空格,复制后执行就会出错
- 使用
raw
和endraw
标签解决
使用这两个标签包住就可以解决渲染问题也不会导致文本产生差异,缺点是比较麻烦,如下:
{% raw %} contend {% endraw %} |
# 代码中出现
可以参考图片中的做法
将代码中包含双括号的一段整个使用 raw
包住是没有用的,会渲染异常,这是我多次尝试得出的真正能解决的办法
# 标题中出现
虽然概率很低,但是由于写这篇文章最终不得不研究了一下解决办法
在 title
中,无法使用 raw
标签,所以我最终采取了使用如下办法:
- 中文输入法下输入一个
{
- 英文输入法下输入一个
{
双 }
的解决办法同理,这样处理后至少表面上看是没有问题的
# 总结
这其实也算是 hexo
的 bug 了,现在处理这个问题无论采取什么办法都很麻烦,希望 hexo
能在后续更新中尽快解决