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

时间:2015-04-28 13:05:13

标签: jekyll github-pages

我只想在帖子有实际标签的情况下呈现“Tags:”标签。我写的时候

{{post.tags | size}}

我得到了标签的数量。但是,如果我将其置于{% if %}条件:

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

总是产生真实的。

我解决了这个问题
{% capture tagsize %}{{post.tags | size}}{% endcapture %}
{% if tagsize != '0' %}
但是看起来很难看。有更好的方法吗?

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

2 个答案:

答案 0 :(得分:1)

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

由于我们无法{% if post.tags != [] %},我们只需在array: []中添加_config.yml

我们现在可以做到:

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

答案 1 :(得分:0)

标签大小返回一个整数而不是一个字符串,因此您应该与0进行比较而不是' 0'

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