Jekyll - Если для сообщения в блоге более 1 post.tag, отобразите сообщение, в противном случае отобразите имя тега. - PullRequest
0 голосов
/ 24 октября 2018

В Jekyll, который использует язык шаблонов Liquid, я нахожусь на своей странице блога и показываю последние 6 сообщений в блоге.Для каждого сообщения я показываю в сообщении дату, имя, отрывок и URL-адрес сообщения.

Я также хочу иметь возможность показывать первый тег этого сообщения (например, «Front-end»).развитие ").Однако, если с сообщением связано более 1 тега, я хочу отобразить запасное сообщение «Просмотреть теги», которое переключает выпадающий список со ссылками на другие теги.Если я могу вернуть неупорядоченный список, это нормально, поскольку я могу взять его оттуда.

Этот код не работает, но, надеюсь, он иллюстрирует то, чего я пытаюсь достичь:

{% for tag in post.tags %}
{% if tag.size > 1 %}
        <a class="toggle-tag-list">View tags</a>
        <ul class="tag-list hidden">
            <li><a href="{{ tag.url }}">tag 1</a></li>
            <li><a href="{{ tag.url }}">tag 2</a></li>
            <li><a href="{{ tag.url }}">tag 3</a></li>
        </ul>
    {% else %}
    <a href="{{ tag.url }}">{{ tag }}</a>
{% endif %}
{% endfor %}

1 Ответ

0 голосов
/ 25 октября 2018

Отредактированный ответ:

Я видел, что tag.url ничего не возвращает, и это нормально.Но если вы используете страницы тегов (вручную или с помощью jekyll-paginate-v2 ), вы уже знаете их URL-адреса.Вы можете создать что-то похожее на то, что я делаю в этом редакторе для href, предполагая, что URL-адреса ваших страниц тегов имеют вид /site.basurl/tag/tagname/.

Не стесняйтесь адаптировать код.

Вы можете попробовать это:

{% if post.tags.size > 0 %}
  {% if post.tags.size > 1 %}
    <a class="toggle-tag-list">View tags</a>
    <ul class="tag-list hidden">
      {% for tag in post.tags %}
        <li><a href="{{ site.baseurl }}/tag/{{ tag | slugify: "ascii" }}/">{{ tag }}</a></li>
      {% endfor %}
    </ul>
  {% else %}
    <a href="{{ site.baseurl }}/tag/{{ post.tags.first | slugify: "ascii" }}/">{{ post.tags.first }}</a>
  {% endif %}
{% endif %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...