在Jekyll中,如何获取具有特定标记的所有页面并将结果限制为3?

在Jekyll中,如何获取具有特定标记的所有页面并将结果限制为3?,jekyll,Jekyll,在Jekyll中,我想创建一个显示各种页面类别的主页。对于每个类别,我只想显示5页。如何将页面结果限制为每个类别仅5个 以下是我目前拥有的其中一个类别部分的代码: <ul> {% for page in site.pages %} {% for tag in page.tags %} {% if tag == "news" %} <li><a href="{{ page.permalink | prepend: site.baseurl }}">{{page.

在Jekyll中,我想创建一个显示各种页面类别的主页。对于每个类别,我只想显示5页。如何将页面结果限制为每个类别仅5个

以下是我目前拥有的其中一个类别部分的代码:

<ul>
{% for page in site.pages %}
{% for tag in page.tags %}
{% if tag == "news" %}
<li><a href="{{ page.permalink | prepend: site.baseurl }}">{{page.title}}
</a></li>
<div class="summary">{{page.summary}}</div>
{% endif %}
{% endfor %}
{% endfor %}
</ul>enter code here
如果我在page.tags行中添加
limit:5
,则它不会执行任何操作:

 <ul>
 {% for page in site.pages %}
 {% for tag in page.tags limit:5 %}
 ...
    {site.pages%中的页面为%s} {页中标记的百分比。标记限制:5%} ...

我想避免有一个类别,其中有大量的网页,从占用太多的空间。有什么想法吗?

您需要循环所有页面,并计算您已经找到的正确类别的页面数量:

{% assign counter = '0' %}
{% for page in site.pages %}
{% for tag in page.tags %}
{% if tag == "news" and counter < '5' %}
    {% capture counter %}{{ counter | plus:'1' }}{% endcapture %}
<li><a href="{{ page.permalink | prepend: site.baseurl }}">{{page.title}}
</a> ({{ counter }})</li>
<div class="summary">{{page.summary}}</div>

{% endif %}
{% endfor %}
{% endfor %}
{%assign counter='0%}
{site.pages%中的页面为%s}
{page.tags%中的标记的%s}
{%if标记==“news”和计数器<'5%}
{%capture counter%}{{counter}加上:'1'}{%endcapture%}
  • ({{counter}})
  • {{page.summary} {%endif%} {%endfor%} {%endfor%}
    (在我的博客上使用
    site.posts
    而不是
    site.pages
    进行测试,因为我没有一个Jekyll项目,其中页面有标签/类别)


    增加变量的语法看起来有点难看,但显然(这是我第一次亲自尝试)。

    您应该查看
    groupby
    ,它可以与
    assign
    标记一起使用

    <ul>
      {% assign authors = site.posts | group_by: "author" %}
      {% for author in authors %}
        <li>{{ author.name }}<ul>
          {% for page in author.items limit: 5 %}
            <li>{{ page.title }}</li>
          {% endfor %}
        </ul></li>
      {% endfor %}
    </ul>
    
      {%assign authors=site.posts | group_by:“author”%} {作者中的作者%}
    • {{author.name}}
        {作者中页面的百分比。项目限制:5%}
      • {{page.title}}
      • {%endfor%}
    • {%endfor%}

    谢谢!成功了。我真的很感谢你的帮助。在这个问题上,我已经转了好一阵子了。这太棒了。
    <ul>
      {% assign authors = site.posts | group_by: "author" %}
      {% for author in authors %}
        <li>{{ author.name }}<ul>
          {% for page in author.items limit: 5 %}
            <li>{{ page.title }}</li>
          {% endfor %}
        </ul></li>
      {% endfor %}
    </ul>