我正在尝试实现如下例所示的帖子标题:
8/18/2018 | Tags: foo, bar
为了做到这一点,我需要确保标签存在,否则 |标签:
在未加标签的帖子中浪费空间。
在网上搜索后,我尝试了这样的说法:
{% if post.tags != nil %}
<b>Tags:</b>
{% for tag in tags %}
<a href="{{site.baseurl}}/tags/#{{tag|slugize}}">{{ tag }}</a>
{% endfor %}
{% endif %}
但是无论标签在前面声明,每个语句总是返回 true。
我应该怎样做才能隐藏标签?
最佳答案
{% if post.tags != nil %}
始终为 true
因为 post.tags
是一个 Array
.
如果该数组为空,{{ post.tags |检查 }}
将输出 []
。
要测试该数组是否包含某些内容,您可以使用:
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 %}
关于if-statement - 如何检查 Jekyll 中是否存在类别/标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52244270/