if-statement - 如何检查 Jekyll 中是否存在类别/标签?

标签 if-statement jekyll liquid

我正在尝试实现如下例所示的帖子标题:

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/

相关文章:

arrays - 谷歌表格 : Array formula for fixed cell value

Jekyll Github Action 停止工作,现在失败并显示错误消息 : "Cannot publish on branch master"

github - 如何在 github 上保存我的 _site 和 jekyll 构建

jekyll - 从 Jekyll 中的 post 变量获取页面变量?

shopify - 获取上一篇文章 - Shopify/Liquid

ruby - Sinatra 中的嵌套液体模板

ios - 如何在 swift 3 的 else if 语句中自动切换 View Controller

c - 将字符串值赋予整数时发生了什么?

c# 我如何比较两个具有匹配字母但一个有空格的字符串

jekyll - 在 Liquid 中过滤或分组集合