在 Jekyll 中,一个帖子可以有多个类别。例如,意大利面条的食谱可能具有类别dinner
和food
. 是否有可能——没有插件——迭代一个类别(食物)的其他类别(不同的晚餐时间)?例如,我想为 category 生成以下页面food
:
Dinner:
* Spaguetti
* Meatloaf
Breakfast
* Cheerios
* Oatmeal
Lunch
* BLT
就像很多 Jekyll 的工作一样,答案是循环遍历的东西比你想象的要多:)
只需遍历整个网站的所有类别或标签或任何内容,并使用if
标签来避免输出此帖子没有的标签。
然后在循环体内,遍历您网站上的每个帖子,if
再次使用标签以避免输出没有类别的帖子。
这里有一些代码可以用于标签,我认为如果你用它替换tags
它categories
会一样。我已经从我自己的网站上对其进行了轻微修改,如果有一两个错字,请见谅:
{% for topic in site.tags | sort_by:topic order:ascending %}
{% if topic == whatever_topic_you_have %}
<section class="topic">
<h1><a name="{{ topic }}">{{ topic }}</a></h1>
{% for item in site.posts %}
{% if item.tags contains topic %}
...show your post/item here...
{% endif %}
{% endfor %}
</section>
{% endif %}
{% endfor %}