Список всех сообщений в обеих категориях (Jekyll / Liquid) - PullRequest
0 голосов
/ 27 мая 2018

Мне нужно перечислить все сообщения, которые содержат ОБА категории в цикле for.

{% assign cooking_pages = site.categories.cooking & site.categories.pictures %}

Очевидно, что вышеприведенное не работает, ноэто в основном то, что я хочу сделать.

Я знаю, что могу сделать это:

{% assign cooking_pages = site.categories.cooking | sort:"title"%} {% for post in cooking_pages %} {% if post.categories contains 'pictures' %} Do whatever I want to do {% endif %} {% endfor %}

Однако моя функция использует loopindex и modulo, так что оператор if запутывает вещивверх. Есть ли способ выбрать сообщения, которые существуют в ОБАХ категориях?

Вот мой фактический код:

{% assign sorted_pages = (site.categories.2018 | sort:"date") | reverse %}
<table>{% for post in sorted_pages %}
  {% assign loopindex = forloop.index | modulo: 3 %}
  {% if loopindex == 1 %}
    <tr><td id="entries"><strong><a href="{{ post.url }}">{{ post.title }}</a></strong></td>
  {% elsif loopindex == 0 %}
    <td id="entries"><strong><a href="{{ post.url }}">{{ post.title }}</a></strong></td></tr>
  {% else %}
    <td id="entries"><strong><a href="{{ post.url }}">{{ post.title }}</a></strong></td>
  {% endif %}
 {% endfor %}</table>

Это дает мне хорошие таблицы на этой странице: https://200wordrpg.github.io/2018entries

1 Ответ

0 голосов
/ 27 мая 2018

Возвращает список, отфильтрованный по двум категориям:

{% assign list = site.categories.cooking | where_exp: "post", "post.categories contains 'pictures'" %}

Вы можете даже объединить несколько фильтров where_exp для фильтрации по трем, четырем или более категориям.

...