我正在尝试实现以下示例中的帖子标头:
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。
我应该怎么做才能隐藏标签?
答案 0 :(得分:2)
{% if post.tags != nil %}
始终为true
,因为post.tags
是Array
。
如果此数组为空,则{{ 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 %}