在 Jekyll 中,我如何在循环外捕获年份和月份?
In Jekyll how can I capture year and month outside loop?
在 _layouts 中构建 archive.html 文件,因为 Github 不允许 archive plugin我可以构建我的文件,但我在尝试捕获循环外的月份和年份时遇到问题。通常这样做是:
<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>
但是如果我想 currentdate
在我试过的循环之前:
{% assign monthStamp = site.posts | post.date | date: "%B %Y" %}
给了我一切。
{% capture monthStamp %}{{ site.posts| post.date | date: "%Y" }}{% endcapture %}
抛出错误:
Liquid Warning: Liquid syntax error (line 1): Expected end_of_string
but found dot in "{{ site.posts| post.date | date: "%Y" }}" in
/_layouts/archive.html
在 Jekyll 中,我可以在循环外获取 archive.html 的年份和月份吗?在我的 Google 功夫搜索技能中,我找不到关于这个问题的任何答案,或者是否已经完成。
尝试执行如下操作:
{% assign latestPost = site.posts | first %}
{% assign monthStamp = latestPost.date | date: "%B %Y" %}
在 _layouts 中构建 archive.html 文件,因为 Github 不允许 archive plugin我可以构建我的文件,但我在尝试捕获循环外的月份和年份时遇到问题。通常这样做是:
<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>
但是如果我想 currentdate
在我试过的循环之前:
{% assign monthStamp = site.posts | post.date | date: "%B %Y" %}
给了我一切。
{% capture monthStamp %}{{ site.posts| post.date | date: "%Y" }}{% endcapture %}
抛出错误:
Liquid Warning: Liquid syntax error (line 1): Expected end_of_string but found dot in "{{ site.posts| post.date | date: "%Y" }}" in /_layouts/archive.html
在 Jekyll 中,我可以在循环外获取 archive.html 的年份和月份吗?在我的 Google 功夫搜索技能中,我找不到关于这个问题的任何答案,或者是否已经完成。
尝试执行如下操作:
{% assign latestPost = site.posts | first %}
{% assign monthStamp = latestPost.date | date: "%B %Y" %}