我正在尝试从我的网站创建帖子的存档页面。我希望能够以这种格式按月为每个帖子列表设置一个页面:
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>
感谢您的帮助。
答案 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。