如何检查Jekyll中是否存在类别/标签?

时间:2018-09-09 11:53:40

标签: if-statement jekyll liquid

我正在尝试实现以下示例中的帖子标头:

8/18/2018 | Tags: foo, bar

为此,我需要确保标签存在,否则| Tags:节会在未加标签的帖子中浪费空间。

在网上搜索后,我尝试了以下语句:

{% if post.tags != nil %}
    <b>Tags:</b>
    {% for tag in tags %}
        <a href="{{site.baseurl}}/tags/#{{tag|slugize}}">{{ tag }}</a>
    {% endfor %}
{% endif %}

但是,无论前面是否声明了标签,每个语句始终返回true。

我应该怎么做才能隐藏标签?

1 个答案:

答案 0 :(得分:2)

{% if post.tags != nil %}始终为true,因为post.tagsArray

如果此数组为空,则{{ post.tags | inspect }}将输出[]

要测试此数组是否包含某些内容,可以使用:

post.tags != empty

此代码可以解决问题:

{% for post in site.posts %}
{% if post.tags != empty %}
  <b>Tags:</b>
  {% for tag in post.tags %}
      <a href="{{site.baseurl}}/tags/#{{tag|slugify}}">{{ tag }}</a>
  {% endfor %}
{% endif %}
{% endfor %}
相关问题