# 事件起因

在记录一篇 python3 的字符串格式化的四种方式的笔记后,发现无法使用 hexo g 进行渲染,错误如下:

location: '_posts/Code/python/default/str_format.md [Line 22, Column 644]',
type: 'parseAggregate: expected colon after dict key'

搜索后发现是 {{ 、 }} 字符引起的渲染问题,定位问题后发现是如下位置导致:

然后经过一系列尝试最终发现了解决办法。

# 解决办法

# 普通文本中出现

  • 比较容易实现但是不太完美的办法
    在连续两个 { 或者 } 中间加上空格,这样虽然能解决渲染问题,但是有时候中间加空格会导致错误

特别是在代码中,中间加了空格,复制后执行就会出错

  • 使用 rawendraw 标签解决
    使用这两个标签包住就可以解决渲染问题也不会导致文本产生差异,缺点是比较麻烦,如下:
{% raw %} contend {% endraw %}

# 代码中出现

可以参考图片中的做法

将代码中包含双括号的一段整个使用 raw 包住是没有用的,会渲染异常,这是我多次尝试得出的真正能解决的办法

# 标题中出现

虽然概率很低,但是由于写这篇文章最终不得不研究了一下解决办法

title 中,无法使用 raw 标签,所以我最终采取了使用如下办法:

  • 中文输入法下输入一个 {
  • 英文输入法下输入一个 {

} 的解决办法同理,这样处理后至少表面上看是没有问题的

# 总结

这其实也算是 hexo 的 bug 了,现在处理这个问题无论采取什么办法都很麻烦,希望 hexo 能在后续更新中尽快解决

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

木 白 微信支付

微信支付

木 白 支付宝

支付宝

木 白 贝宝

贝宝