如何在“ where:”中使用布尔否定?

时间:2019-06-25 11:30:06

标签: jekyll liquid

我正在尝试编写查询以检索除“个人”类别以外的所有类别的帖子。

我有以下代码来检索所有标记为“个人”的帖子,因此我尝试使用“!”和“ not”获取非“个人”的帖子。

{% assign sorted-posts = site.posts | where: "categories", "Personal" %}
  ...
{% endfor %}

所以,我尝试了这个:

{% assign sorted-posts = site.posts | not where: "categories", "Personal" %}
  ...
{% endfor %}

{% assign sorted-posts = site.posts | ! where: "categories", "Personal" %}
  ...
{% endfor %}

它没有用。如何在Liquid中使用“ not”或“!”?

1 个答案:

答案 0 :(得分:0)

由于post.categories是一个数组,因此可以使用contains过滤器检查它是否包含某个值。例如:if post.categories contains "Personal"

unless等效的"if not"控制流标记现在可以用于打印所有非“个人”类别的帖子。

<ul>
{% for post in site.posts %}
  {% unless post.categories contains "Personal" %}
    <li><a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a></li>
  {% endunless %}
{% endfor %}
</ul>