使用 {% for post in site.posts %} 从特定子文件夹中提取

Max*_*ter 4 css yaml liquid jekyll pug

我目前正在我的第一个 Jekyll 网站上工作。我有一个页面,其中 2 个单独的部分显示某些帖子的预览(样式缩略图)。

我想要的是让这些部分显示来自 _site/_posts 中不同子文件夹的帖子。我将 _posts 组织成包含两个子文件夹,/lesplannen 和 /verslagen(课程计划和报告),每个子文件夹都包含一堆文章。

我对这些部分之一的代码如下(Jade 格式):

{% for post in site.posts limit: 4 %}
    a(href="{{post.url}}" target="_blank" style="background-image: url(assets/img/posts/lesplannen/thumbnails/{{post.thumbnail}})").lesplan-thumb
      .article-meta
        .name {{post.title}}
        .date {{ post.date | date: "%b %d, %Y" }}
    {% endfor %}
Run Code Online (Sandbox Code Playgroud)

其他部分也类似。我的第一反应是分别将 site.posts 更改为 site.posts.lesplannen 和 site.posts.verslagen,但这导致拇指根本不显示。我还在文章本身的前面添加了类别,但这也没有被选中。

为清楚起见,我想要做的是让第 1 部分显示来自 _site/_posts/subfolder 1 的帖子和第 2 部分显示来自 _site/_posts/subfolder 2 的帖子。

解决这个问题的正确方法是什么?

积分问题:页面显示 4 个帖子,正如预期的那样,但选择显示 12 个可用帖子中的第 6 到 9 个帖子。为什么会这样,我可以指定例如始终显示最后的 x 个帖子吗?

供参考:
GitHub 页面:https : //zaena.github.io/portfolio-nadine/
GitHub 存储库:https : //github.com/Zaena/portfolio-nadine

mar*_*nuy 5

网站有几个问题:

帖子文件夹结构错误

帖子应该始终在一个_posts文件夹中,它们不能在另一个文件夹中(Jekyll 可以显示它们但某些功能丢失了,它们不应该在那里)

如果类别是文件夹,则它们不能以下划线 (_) 开头

实际结构的类别定义为/_verslagen,它们应该是/verslagen和它的帖子里面/verslagen/_posts

在两个不同的文件夹中拥有相同的帖子会出现意外行为

帖子位于不同的文件夹中,应该只存在一个版本。

解决方案

您正在寻找的结构是:

??? index.html
??? lesplannen
?   ??? _posts
?       ??? 2016-12-10-dit-is-een-lesplan2.md
?       ??? 2016-12-10-dit-is-een-lesplan3.md
?       ??? 2016-12-10-dit-is-een-lesplan4.md
?       ??? 2016-12-10-dit-is-een-lesplan.md
??? verslagen
    ??? _posts
        ??? 2016-12-10-dit-is-een-verslag10.md
        ??? 2016-12-10-dit-is-een-verslag11.md
        ??? 2016-12-10-dit-is-een-verslag12.md
        ??? 2016-12-10-dit-is-een-verslag2.md
        ??? 2016-12-10-dit-is-een-verslag3.md
        ??? 2016-12-10-dit-is-een-verslag4.md
        ??? 2016-12-10-dit-is-een-verslag5.md
        ??? 2016-12-10-dit-is-een-verslag6.md
        ??? 2016-12-10-dit-is-een-verslag7.md
        ??? 2016-12-10-dit-is-een-verslag8.md
        ??? 2016-12-10-dit-is-een-verslag9.md
        ??? 2016-12-10-dit-is-een-verslag.md
Run Code Online (Sandbox Code Playgroud)

这将使site.categories.verslagen和 中的每个类别下的帖子可用site.categories.lesplannen

然后显示每个类别帖子的代码如下所示:

{% for post in site.categories.verslagen %}
<p>{{post.title}}</p>
<p>{{ post.date | date: "%b %d, %Y" }}</p>
<p>{{post.thumbnail}}</p>
{% endfor %}

{% for post in site.categories.lesplannen %}
<p>{{post.title}}</p>
<p>{{ post.date | date: "%b %d, %Y" }}</p>
<p>{{post.thumbnail}}</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)