【问题标题】:Jekyll archive link in another language than englishJekyll 档案链接的其他语言不是英语
【发布时间】:2015-07-17 16:16:56
【问题描述】:

我有这段代码可以用 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>

如您所见,它将呈现类似“2015 年 5 月 (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>

【问题讨论】:

    标签: html jekyll liquid templating


    【解决方案1】:

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

    您需要按月和年分组。

    你打印如果:

    • 不是同一个月(thismonth != prevmonth)
    • 或同月但不同年(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>
    

    【讨论】:

    • 谢谢,周一之前试试
    猜你喜欢
    • 2016-05-06
    • 2016-06-13
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    相关资源
    最近更新 更多