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

问题描述 投票:1回答:1

我正在尝试实现一个帖子标题,如下例所示:

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。

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

if-statement jekyll liquid
1个回答
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 %}
© www.soinside.com 2019 - 2024. All rights reserved.