在Jekyll中,如何获取具有特定标记的所有页面并将结果限制为3?
在Jekyll中,我想创建一个显示各种页面类别的主页。对于每个类别,我只想显示5页。如何将页面结果限制为每个类别仅5个 以下是我目前拥有的其中一个类别部分的代码:在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.
<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>