Jekyll 存档 link 以英语以外的另一种语言

Jekyll archive link in another language than english

我有这段代码可以用 Jekyll 生成我的存档链接

<div class="col-lg-4">
    <h3>Archives</h3>
    <ul>
        {% for post in site.posts %}
          {% assign thisyear = post.date | date: "%B %Y" %}
          {% assign prevyear = post.previous.date | date: "%B %Y" %}
          {% assign counter = counter | plus: 1 %}
          {% if thisyear != prevyear %}
            <li><a href="/archive/#{{ post.date | date:"%B %Y" | }}">{{ thisyear }} ({{ counter }})</a></li>
            {% assign counter = 0 %}
          {% endif %}
        {% endfor %}
    </ul>
</div>

如您所见,它会呈现类似 "May 2015 (3)" 的内容。我正在努力实现类似 "Mai 2015 (3)".

的目标

这是一个更简单的循环的完成方式:

<div class="col-lg-4">
    <h3>Derniers articles</h3>
    <ul class="posts">
        {% for post in site.posts limit:10 %}
           <li>
               <span>
               {{ post.date | date: '%d' }}
               {% assign m = post.date | date: "%-m" %}
                    {% case m %}
                      {% when '1' %}janvier
                      {% when '2' %}février
                      {% when '3' %}mars
                      {% when '4' %}avril
                      {% when '5' %}mai
                      {% when '6' %}juin
                      {% when '7' %}juillet
                      {% when '8' %}août
                      {% when '9' %}septembre
                      {% when '10' %}octobre
                      {% when '11' %}novembre
                      {% when '12' %}décembre
                    {% endcase %}
                {{ post.date | date: '%Y' }}
                </span> &raquo;
               <a href="{{ BASE_PATH }}{{ post.url }}">
               {{ post.title }}</a>
           </li>
        {% endfor %}
    </ul>
</div>

此代码将呈现“2015 年 1 月 15 日”,而不是“2015 年 1 月 15 日”。

到目前为止,我还没有设法合并这两个循环来创建我想要实现的目标。有什么想法吗?

编辑 该代码取得了一些进展: 但是有一个很大的问题,它只会渲染一个月而不是所有月份。 所以现在它呈现

Mai 2015 (4)

而不是

Mai 2015 (1)
Juin 2015 (1)
Juillet 2015 (2)

   <ul>
        {% for post in site.posts %}
          {% assign thisyear = post.date | date: "%Y" %}
          {% assign prevyear = post.previous.date | date: "%Y" %}
          {% assign m = post.date | date: "%-m" %}
          {% assign counter = counter | plus: 1 %}
          {% if thisyear != prevyear %}
            <li><a href="/archive/#{{ post.date | date:"%B %Y" | }}">{% case m %}
                  {% when '1' %}janvier
                  {% when '2' %}février
                  {% when '3' %}Mars
                  {% when '4' %}avril
                  {% when '5' %}mai
                  {% when '6' %}juin
                  {% when '7' %}juillet
                  {% when '8' %}août
                  {% when '9' %}septembre
                  {% when '10' %}octobre
                  {% when '11' %}novembre
                  {% when '12' %}décembre
                {% endcase %}{{ thisyear }}&nbsp;({{ counter }})</a></li>
            {% assign counter = 0 %}
          {% endif %}
        {% endfor %}
    </ul>

使用 {% if thisyear != prevyear %},您仅按年份分组。

您需要按月和年分组。

你打印 IF :

  • 不同月(thismonth != prevmonth)
  • OR 同月但不同年 (thisyear != prevyear and thismonth == prevmonth)

这行得通:

<ul>
{% for post in site.posts %}
  {% assign thisyear = post.date | date: "%Y" %}
  {% assign thismonth = post.date | date: "%-m" %}
  {% assign prevyear = post.previous.date | date: "%Y" %}
  {% assign prevmonth = post.previous.date | date: "%-m" %}
  {% assign counter = counter | plus: 1 %}
  {% if (thismonth != prevmonth) or (thisyear != prevyear and thismonth == prevmonth) %}
    <li><a href="/archive/#{{ post.date | date:"%B %Y" | }}">
    {% case thismonth %}
        [ month in french here ]
    {% endcase %}
    {{ thisyear }}&nbsp;({{ counter }})
    </a></li>
    {% assign counter = 0 %}
  {% endif %}
{% endfor %}
</ul>