仅在存在标签时才渲染标签标签

问题描述:

只有在帖子中有实际标签时,我才想渲染“标签:”标签。当我写仅在存在标签时才渲染标签标签

{{post.tags | size}} 

我得到的标签数量。但是,如果我把它放在{% if %}的条件下:

{% if post.tags | size != '0' %} 

它总是正确的。我解决了这个问题

{% capture tagsize %}{{post.tags | size}}{% endcapture %} 
{% if tagsize != '0' %} 

但它看起来非常难看。有一个更好的方法吗?

注意:我使用GitHub页面,所以使用插件 - 除了过度杀伤 - 不是一个选项。我的Jekyll版本为2.0.4,截止日期为here

默认{{ post.tags }} == empty array

由于我们不能做{% if post.tags != [] %},我们只是在_config.yml中加array: []

我们现在可以这样做:

{% if post.tags != site.array %} 
    Do something 
{% endif %} 
+0

听起来有点哈克,但如果有没有别的办法... – GergelyPolonkai

标签的尺寸返回一个整数,而不是一个字符串,那么你应该比较反对0而不是“0”

{% if page.tags.size != 0 %} 
    <!-- some code to render tags --> 
{% endif %}