在Jekyll中按月发布
我正在尝试从我的网站创建一个帖子归档页面。我希望能够以这种格式每月为每个帖子列表创建一个页面: www.mywebsite.com/2016/11将显示2016年11月的所有帖子 我是否可以为我发布的每个月创建一个页面,该页面在我每个月发布时都会动态创建?我不想每个月都手动创建一个新页面 我已经可以按年度对帖子进行分组,如下所示:在Jekyll中按月发布,jekyll,archive,Jekyll,Archive,我正在尝试从我的网站创建一个帖子归档页面。我希望能够以这种格式每月为每个帖子列表创建一个页面: www.mywebsite.com/2016/11将显示2016年11月的所有帖子 我是否可以为我发布的每个月创建一个页面,该页面在我每个月发布时都会动态创建?我不想每个月都手动创建一个新页面 我已经可以按年度对帖子进行分组,如下所示: <ul> {% for post in site.posts %} {% assign currentdate = post.date | date:
<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>
{site.posts%中的post为%s}
{%assign currentdate=post.date |日期:“%Y”}
{%if currentdate!=日期%}
- {{currentdate}
{%assign date=currentdate%}
{%endif%}
{%endfor%}
谢谢您的帮助。您可以修改
日期
过滤器以集成月份,例如日期:“%B%Y”
。这就是我在布局中使用的,每个月都有一个单独的
从月份开始,date
过滤器的值仅为:
:缩写月份名称%b
:完整的月份名称%B
:一年中的月份(01-12)%m
<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>
{site.posts%中的post为%s}
{%assign currentdate=post.date |日期:“%B%Y”%}
{%if currentdate!=日期%}
- {{currentdate}
{%assign date=currentdate%}
{%endif%}
{%endfor%}
关于生成页面,AFAIK这只能通过插件完成。如果您不能使用插件,例如,如果您在GitHub上托管您的页面,那么您所能做的最好是根据布局将您的页面缩减为短YAML frontmatter,如中所示。谢谢,这对我很有帮助。我在GitHub上托管,所以我不会为此使用任何插件(老实说,我希望尽可能保持站点的轻量级,所以我不希望对外部插件有任何依赖)。