在 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" %}