使用jekyll限制帖子的数量

时间:2012-09-29 17:59:08

标签: jekyll

我正在尝试用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

但无济于事。是否可以通过这种方式过滤类别?

2 个答案:

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