Jekyll:我们不能从每个帖子中循环播放帖子(并显示列表)吗?



我想在类别页面中显示帖子列表:这个循环有效。 但我也想在每个帖子上显示这个列表:它是相同的循环,但它不起作用。

有我的杰基尔循环:

{% for post in site.categories.[include.nomrecueil] reversed %}
<li>{{ post.title }</li>
{% endfor %}

短版本

我的循环不会根据使用的布局获取帖子。 我有以下结构:

categoryA
| index.md
| categoryB
| index.md
| _posts
| article.md

我有两个包含相同循环的布局。我在categoryB/index.md中的循环正在工作,但在article.md中同样不起作用。知道为什么吗?我们不能从每个帖子中循环插入帖子(并显示列表)吗?

您可能需要更多信息,因此可以根据需要查看存储库。循环位于包含导航诗的第 35 行.html它包含在两种布局中:a) recueil.html 和 b) 诗.html。循环在调用recueil.html布局的index.md中正确输出,但在调用poem.html布局的article.md中不正确。

我检查了循环中的包含参数nomrecueil是否很好地通过两种布局传递。在具有相同循环的第二个布局中没有获取任何帖子...... 我使用杰基尔的方式是错误的还是错误?

我不知道为什么...但这有效(必须与"包含"语句有关):

{% assing includenomrecueil = include.nomrecueil %}
<ul>
{% for category in site.categories %}
{% assign catfirst = category | first %}
{% if includenomrecueil contains catfirst %}
{% for posts in category %}
{% for p in posts reversed %}
<li>...</li>
{% endfor %}
{% endfor %}
{% endif %}
{% endfor %}
</ul>

在您的代码中,变量通过。我什至尝试向变量添加空格并删除它们(以确保它是一个字符串)。值得注意的是,这有效:

{% for post in site.categories['fleurs-persistantes'] reversed %}
<li>...</li>
{% endfor %}

即使{{ include.nomrecueil }}输出fleurs-persistantes,同时这不起作用:

{% for post in site.categories[include.nomrecueil] reversed %}
<li>...</li>
{% endfor %}

真奇怪!我不明白。

最新更新