2012-03-08 12 views
6

Bir Jekyll sitesinin gönderilerini nasıl geçiririm, ancak yalnızca yılın belirli bir değere eşit olduğu yayınlarda nasıl davranabilirim?Yalnızca belirli bir yılla eşleşen Jekyll gönderilerini döndürme

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

yukarıdaki çalışmaz. Bunu yapmanın doğru yolu nedir?

cevap

6

Bir yılın tarihini ayıklamak için, date filtresini "%Y" ile kullanmanız gerekir (tam sözdizimi here olarak listelenmiştir). i.e .:

{% 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 %} 
+1

Bu sizin için gerçekten işe yarıyor mu? Çalışmak için böyle bir şey yapmadım. İkiniz de Jekyll 0.11.2 ve Liquid 2.3.0 ile çalışın. – manatwork

+0

@manatwork Oops, kesinlikle test ettiğimde çalışmak için _appeared_, ama bunu yapmadığı gerçeği kaçırdım .... Şimdi düzeltildi. – huon

+0

Peki, bunu nasıl yaparsınız, ancak o yıl boyunca herhangi bir gönderinin olup olmadığını kontrol edin? Örneğin, 2008'de gönderiler varsa, bir h4 yazdırın. –

İlgili konular