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> »
<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 }} ({{ 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 }} ({{ counter }})
</a></li>
{% assign counter = 0 %}
{% endif %}
{% endfor %}
</ul>
我有这段代码可以用 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> »
<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 }} ({{ 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 }} ({{ counter }})
</a></li>
{% assign counter = 0 %}
{% endif %}
{% endfor %}
</ul>