我希望在我的Jekyll支持的网站上有多个和语言的后期索引(索引?),这意味着不止一个条件。
我的帖子有YAML前线,包括:
categories:
- research
- blog
lang: en
现在我想要一个帖子索引,比如所有英文研究帖子。
我能做到:
{% for post in site.posts %}
{% if post.lang == 'en' and post.categories contains 'research' %}
{{ post.title }}
{% endif %}
{% endfor %}
然而,这会限制这些细节,如限制和按年份排序等。为了限制帖子的数量(等),Jekyll似乎仍在查看整个帖子列表,不仅仅是条件适用的对象。
像这样的伪代码是理想的: {%代表site.posts中的帖子,其中post.lang =='en'和post.categories包含'research'%}
有什么想法吗?
Ps。:我不能使用任何插件;希望它与GH Pages兼容。 Pps:我知道我可以使用语言作为一个类别,但这感觉不对 - 这些是不同的信息。
答案 0 :(得分:2)
我相信你可以这样做:
{% assign resindex = site.posts | where: "category", "research", | where: "lang", "en" | sort: "title" %}
{% for post in resindex limit:4 %}
<div>
<p><a href="{{ post.url }}">{{ post.title | truncate: 52 }}</a></p>
</div>
{% endfor %}
虽然我对使用类别和类别以及何时可以/应该使用它们感到相当困惑。对于我的示例类别工作,但在我的前面我有:category:mycategory,我只使用一个。但其余的代码应该可以工作,你可以限制和排序。