Jekyll按类别显示post

抓住我的头在这一点上 – 非常感谢。

我想显示我的所有Jekyll职位的列表,按类别组织。 我知道3号线是不正确的,但我不知道应该是什么。 有任何想法吗? 谢谢!

{% for category in site.categories %} <h3>{{ category | first }}</h3> {% for post in page.categories.category %} {{ post.title }}<br> {% endfor %} {% endfor %} 

得到它了! 在列出单个post之前,需要一个中间post循环

 {% for category in site.categories %} <li><a name="{{ category | first }}">{{ category | first }}</a> <ul> {% for posts in category %} {% for post in posts %} <li><a href="{{ post.url }}">{{ post.title }}</a></li> {% endfor %} {% endfor %} </ul> </li> {% endfor %} 

fyi,如果有人想只列出一个类别的post,这个作品(不同于上面的例子,因为类别返回一个post列表…

 <p>Posts in category "basic" are:</p> <ul> {% for post in site.categories.basic %} {% if post.url %} <li><a href="{{ post.url }}">{{ post.title }}</a></li> {% endif %} {% endfor %} </ul> 

我不记得准确的语法手头,但像下面的代码应该检索类别名称,以便您可以检索每个类别的post…

 {% for category in site.categories %} {% assign cat_name = category[0] %} {% for post in site.categories.cat_name %} ... {% endfor%} {% endfor %} 

这是一个使用sorting(有用!)的答案:

 {% comment %} # # Change date order by adding '| reversed' # To sort by title or other variables use {% assign sorted_posts = category[1] | sort: 'title' %} # {% endcomment %} {% assign sorted_cats = site.categories | sort %} {% for category in sorted_cats %} {% assign sorted_posts = category[1] | reversed %} <h2 id="{{category[0] | uri_escape | downcase }}">{{category[0] | capitalize}}</H2> <ul> {% for post in sorted_posts %} <li><a href="{{ site.url }}{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a></li> {% endfor %} </ul> {% endfor %} 

这不是我的,它是从这里拿走的。