将Jekyll文章列表限制为特定类别

22

我有一个使用jekyll搭建的网站,其中有一个分类(名为photo),我想要创建一个单独的布局页面来列出属于photo分类的帖子。我还想将具有photo分类的帖子从主索引页面中排除。

3个回答

34

所有的分类都可以在site对象中找到,通过site.categories.photo访问一个分类的文章,因此你的循环会像这样:

{% for post in site.categories.photo %}
    # render the photo post html
{% endfor %}

除非我误解了问题,否则这应该是正确的答案。 - matb33
确实。没错,只是有点晚了。 - Janusz Lenar
@matb33,也就是说比一个季度更晚,嘿。 - Janusz Lenar
我更喜欢这个解决方案,但那只是我的个人偏好 :) - Tim B James
2
@matb33的回答不完整,因为他的主索引页面仍将包含“photo”帖子。 - Ali Almoullim

24

我在主索引页面中使用了一个{% unless %}块,以确保文章不是一张照片。例如:

{% unless post.category == "photo"%}
    {% comment %} List posts... {% endcomment %}
{% endunless %}

我用相同的方法来仅显示照片。只是用了if而不是unless


我找不到关于 unless 标签的任何信息。它仍然被支持吗? - orschiro
@orschiro 请查看Liquid文档:https://github.com/Shopify/liquid/wiki/Liquid-for-Designers#tags - blockloop

4
类别名称也区分大小写。如果您的类别是“photo”,则它看起来像这样:
{% for post in site.categories.photo %}
    # render the photo post html
{% endfor %}

如果你的分类是照片,则会像这样:
{% for post in site.categories.Photo %}
    # render the photo post html
{% endfor %}

我在构建过程中遇到了一个小问题,所以想分享一下。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接