我正在尝试用jekyll过滤一些帖子。 我想输出所有类别的帖子:news。
我这样做很好:
{% 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
但无济于事。是否可以通过这种方式过滤类别?
答案 0 :(得分:39)
我设法解决它。
我无法通过site.categories.news
访问已过滤的帖子列表
在浏览了jekyll bottstrap文档后,我在所有新闻页面上添加了tag: news
。
我现在可以使用以下内容过滤和限制帖子的输出:
{% for post in site.tags.news limit:2 %}
//do something
{% endfor %}
答案 1 :(得分:4)
我的代码正常运作。看起来他们自2012年以来就把它修好了。
{% for post in site.categories.company limit: 1 %}
...
{% endfor %}