在Jekyll中,帖子可以有多个类别。例如,意大利面条的配方可能包含dinner
和food
类别。是否有可能 - 没有插件 - 迭代一个类别(食物)的其他类别(不同的晚餐时间)?例如,我想为类别food
生成以下页面:
Dinner:
* Spaguetti
* Meatloaf
Breakfast
* Cheerios
* Oatmeal
Lunch
* BLT
答案 0 :(得分:0)
像许多杰基尔的作品一样,答案是以比你想象的更多的方式循环:)
只需遍历所有类别或标记或整个网站的任何内容,并使用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 %}