Ограничьте количество сообщений, хотя категория с jekyll
Я пытаюсь отфильтровать сообщение с jekyll.
Я хочу вывести весь пост с категорией: новости.
Он отлично работает, когда я делаю:
{% for post in site.posts %}
{% if post.category[0] == "news" %}
<h1>{{ post.title }}</h1>
{% endfor %}
но я хотел бы ограничить вывод этого фильтра на несколько сообщений.
Если я применяю цикл limit: 5
к моему for
, он не работает, поскольку Jekyll применяет ограничение к общему количеству сообщений.
В любом случае можно применить ограничение к уже отфильтрованному списку сообщений, например:
{% for post in site.posts %}
{% if post.category[0] == "news" limit:5 %}
<h1>{{ post.title }}</h1>
{% endfor %}
Я могу получить список категорий с site.categories
и перечислить их
{% for category in site.categories %}
<p>test: {{ category[0] }}</p>
{% endfor %}
Но я, похоже, не могу сузить до одной категории.
Я пытаюсь сделать что-то вроде:
for post in site.categories.news limit:5
//do something
endfor
или
for post in site.categories['news'] limit:5
//do something
endfor
но безрезультатно. Можно ли таким образом отфильтровать категорию?
Ответы
Ответ 1
Мне удалось разобраться.
Мне не удалось получить доступ к фильтруемому списку сообщений через site.categories.news
Я добавил tag: news
на все страницы новостей, просмотрев документацию jekyll bottstrap.
Теперь я могу фильтровать и ограничивать вывод сообщения:
{% for post in site.tags.news limit:2 %}
//do something
{% endfor %}
Ответ 2
Мой код работает. Похоже, они исправили его где-то с 2012 года.
{% for post in site.categories.company limit: 1 %}
...
{% endfor %}