仅在存在标签时才渲染标签标签
问题描述:
只有在帖子中有实际标签时,我才想渲染“标签:”标签。当我写仅在存在标签时才渲染标签标签
{{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而不是“0”
{% if page.tags.size != 0 %}
<!-- some code to render tags -->
{% endif %}
听起来有点哈克,但如果有没有别的办法... – GergelyPolonkai