if-statement - 如何检查 Jekyll 中是否存在类别/标签?
问题描述
我正在尝试实现一个帖子标题,如下例所示:
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 是否标记在前面声明。
我应该怎么做才能隐藏标签?
解决方案
{% 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 %}
推荐阅读
- cygwin - Cygwin 无法设置 db_home
- java - 在 ServletContext 资源 [/WEB-INF/spring-security.xml] 中定义的名称为“offlineTokenServices”的无效 bean 定义
- google-apps-script - 用户上传的 Google 表单文件不是问题
- jquery - DataTable 问题在重新加载时删除 thead 子项
- python - 如何使用python从json文件中打印
- javascript - 在标记页面中,如何向 html 标签的 textContent 属性添加内容?
- java - InfoWindowAdapter 使用或覆盖已弃用的 API
- php - .htaccess 在 RewriteRule 中抛出带有字母 P 的 404
- c++ - C++ 标准中的适配器是什么?它与适配器设计模式有何关系?
- python - 将数据和标题添加到新数据框并将文件名填充到列中