Jekyll的月份帖子

时间:2016-11-06 00:59:59

标签: jekyll archive

我正在尝试从我的网站创建帖子的存档页面。我希望能够以这种格式按月为每个帖子列表设置一个页面:

www.mywebsite.com/2016/11将显示2016年11月的所有帖子。

每次发布​​新月份时,我可以每月发布一个动态创建的页面吗?我不想每个月手动创建一个新页面。

我已经按照年份对帖子进行分组:

<ul>
{% for post in site.posts %}
  {% assign currentdate = post.date | date: "%Y" %}
  {% if currentdate != date %}
    <li id="y{{currentdate}}">{{ currentdate }}</li>
    {% assign date = currentdate %} 
  {% endif %}
    <li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
</ul>

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您可以修改date过滤器以整合月份,例如date: "%B %Y"。这就是我在布局中使用的内容,每个月都有一个单独的<ul>

documentation开始,date过滤器的仅限月份值为:

  • %b:缩写的月份名称。
  • %B:完整的月份名称。
  • %m:一年中的某个月(01 - 12)。

完成循环:

<ul>
{% for post in site.posts %}
  {% assign currentdate = post.date | date: "%B %Y" %}
  {% if currentdate != date %}
    <li id="y{{currentdate}}">{{ currentdate }}</li>
    {% assign date = currentdate %} 
  {% endif %}
    <li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
</ul>

关于生成页面,AFAIK只能通过插件完成。如果你不能使用插件,例如如果您在GitHub上托管您的网页,您可以做的最好的事情就是将您的网页缩小为依赖布局的简短YAML前端,例如this answer