链接过滤器时出现“预期的end_of_string但发现冒号”错误

时间:2019-04-17 14:51:44

标签: filter jekyll liquid

我刚刚尝试将我的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版本中添加这些过滤器?

1 个答案:

答案 0 :(得分:2)

似乎此片段中的问题是

smallint

键和值应以逗号(Jekyll docs)分隔。

where: "lang": lang

您的其他where: "lang", lang 子句的格式正确,这就是为什么仅包含该子句时它不会引发错误的原因。