在 jekyll 中打印出两个不同类别的帖子

Print out posts from two different categories in jekyll

我们在项目中使用了四种不同的 post 类别(开发人员、新闻、服务和职业),我知道如何同时打印所有 post:

{% for post in site.posts %}
  <li>{{ post.title }}</li>
{% endfor %}

或每个单独类别的所有 post:

{% for post in site.categories.news %}
  <li>{{ post.title }}</li>
{% endfor %}

我遇到的困难是在同一个 for 循环中仅打印来自两个类别(开发人员和新闻)的 posts。

这是我们的文件夹结构:

_post秒/

post 文件如下所示 (2017-03-16_my_post.md):

---
title: "Dev post Title"
categories: developers
layout: developer
---

我试过类似的方法,但我猜你不能在 for 循环中添加两个参数,因为它不起作用。它只为第一个参数打印 posts 而完全忽略第二个参数:

{% for post in site.categories.developers and site.categories.news %}
    <li>{{ post.title }}</li>
{% endfor %}

有什么办法解决这个问题吗?我找不到任何可行的解决方案。任何帮助将不胜感激!非常感谢!

经过几个小时尝试解决这个问题并失去耐心后,我终于做对了。这个循环结合 if 语句将只打印来自这两个类别的帖子:

{% for post in site.posts %}
    {% if post.categories contains 'news' or post.categories contains 'developers' %}
        <li>{{ post.title }}</li>
    {% endif %}
{% endfor %}

希望它能为其他人节省时间:)

要过滤包含两个类别的帖子,您需要浏览所有帖子并使用 "if" 运算符和 "and":condition A and condition B.

{% for post in site.posts %}
{% if post.categories contains "developer" and post.categories contains "news" %}
 <li>{{ post.title }}</li> 
{% endif %}
{% endfor %}

然后它将只显示类别为开发人员和新闻强文本.

的帖子