我刚刚尝试将我的Jekyll版本从3.4.3
提升到3.8.5
,当我运行版本时,出现此错误:
Liquid Warning: Liquid syntax error (line 37): Expected end_of_string but found colon in "{{site.documents | where: "belongs_to_group", page.group | where: "lang": lang | sort: "page.date" | reverse }}"
链接where
过滤器时发生了什么变化?我似乎在文档中找不到任何内容。
当我仅包含一个where
过滤器时,变量将得到正确分配。
{% assign boxes = site.documents | where: "belongs_to_group", page.group %}
一旦我添加另一个错误,我就会得到上述错误。
这里有一个完整的示例,说明了我如何能够在Jekyll以前的版本中分配可验证字。
{% assign boxes = site.documents | where: "belongs_to_group", page.group | where: "lang": lang | where_exp: "item", "item.start_datetime > site.time" | sort: "start_datetime" %}
如何仍然在新的Jekyll版本中添加这些过滤器?
答案 0 :(得分:2)
似乎此片段中的问题是
smallint
键和值应以逗号(Jekyll docs)分隔。
where: "lang": lang
您的其他where: "lang", lang
子句的格式正确,这就是为什么仅包含该子句时它不会引发错误的原因。