如何使用jekyll按时间顺序列出_posts子目录中的帖子

时间:2016-09-06 09:58:54

标签: html yaml jekyll liquid github-pages

我正在使用jekyll构建的mmistakes/minimal-mistakes来构建我的github页面。

我想在_posts/android的{​​{1}}下列出我的所有帖子。这意味着,我想在_pages/android.html中添加2016-09-01-aaa.md2016-09-02-bbb.md2016-08-26-ccc.md,而不是2016-09-03-ddd.md

这是我项目的目录结构:

_pages/android.html

以下是. ├── _config.yml ├── _pages │ └── android.html ├── _posts │ ├── android │ │ ├── third-party │ │ │ ├── 2016-09-01-aaa.md │ │ │ └── 2016-09-02-bbb.md │ │ └── handler │ │ └── 2016-08-26-ccc.md │ └── java │ └── effective-java │ └── 2016-09-03-ddd.md └── _site ├── index.html (my github home page) ├── android │ ├── index.html (generated from "_pages/android.html") │ ├── third-party │ │ ├── aaa │ │ │ └── index.html │ │ └── bbb │ │ └── index.html │ └── handler │ └── ccc │ └── index.html └── java └── effective-java └── ddd └── index.html

(但它会列出_pages/android.html下的所有帖子, 如何才能在_posts下列出帖子?)

_posts/android

以下是--- layout: archive permalink: /android/ excerpt: "android" author_profile: false sidebar: nav: "android" --- {% include base_path %} <h3 class="archive__subtitle">{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}</h3> {% for post in site.posts %} {% include archive-single.html %} {% endfor %}

_include/base_path

以下是{% if site.url %} {% assign base_path = site.url | append: site.baseurl %} {% else %} {% assign base_path = site.github.url %} {% endif %} : (其他帖子与此类似。)

2016-09-01-aaa.md

以下是--- title: aaa categories: /android/third-party/ --- write some contents.

的摘要
_config.yml

那么,我该怎么做呢?我真的不擅长html和jekyll的东西。

2 个答案:

答案 0 :(得分:1)

如上所述here,以下内容应该有效:

{% for post in site.categories.android %}
  {% include archive-single.html %}
{% endfor %}

使用如下声明的类别:

categories: android third-party

答案 1 :(得分:0)

post.path会列出子文件夹_posts/android

中的所有帖子
{% for post in site.posts %}
  {% if post.path contains 'android' %}
     {% include archive-single.html %}
  {% endif %}
{% endfor %}