Как проверить, существует ли категория / тег в Jekyll? - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь получить заголовок сообщения, как в примере ниже:

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 %}

Но каждое утверждение всегда возвращает истину, независимо от того, объявлен ли тег перед вопросом.

Что мне делать, чтобыскрыть ярлык?

1 Ответ

0 голосов
/ 09 сентября 2018

{% 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 %}
...