【问题标题】:Only return Jekyll posts that match specific year只返回与特定年份匹配的 Jekyll 帖子
【发布时间】:2012-03-08 19:37:30
【问题描述】:

如何循环浏览 Jekyll 网站的帖子,但只对年份等于特定值的帖子采取行动?

{% for post in site.posts %}
  {% if post.date.year == 2012 %}
      <p>{{ post.date }}</p>
      <p>{{ post.title }}</p>
  {% endif %}
{% endfor %}

以上行不通。这样做的正确方法是什么?

【问题讨论】:

    标签: jekyll liquid


    【解决方案1】:

    要提取日期的年份,您必须使用带有"%Y"date 过滤器(完整的语法在here 中列出)。即:

    {% for post in site.posts %}
      {% capture year %}{{post.date | date: "%Y"}}{% endcapture %}
      {% if year == "2012" %}
          <p>{{ post.date }}</p>
          <p>{{ post.title }}</p>
      {% endif %}
    {% endfor %}
    

    【讨论】:

    • 这真的适合你吗?我从来没有设法使这种if 条件起作用。你的不支持 Jekyll 0.11.2 和 Liquid 2.3.0。
    • @manatwork 哎呀,当我测试它时它确实似乎工作,但我错过了它没有......现在修复的事实。
    • 那么,您将如何做到这一点,但要检查那一年是否存在任何帖子?比如2008年有帖子,打印一个h4。
    • 为我工作™!谢谢!!
    猜你喜欢
    • 2014-08-02
    • 2014-08-03
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多