2012-03-08 20 views
6

मैं जेकिल साइट की पोस्ट के माध्यम से कैसे लूप करूं लेकिन केवल उन पदों पर कार्रवाई करें जहां वर्ष एक विशिष्ट मूल्य के बराबर है?विशिष्ट वर्ष से मेल खाने वाले जेकील पोस्ट केवल

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

उपर्युक्त काम नहीं करता है। ऐसा करने का सही तरीका क्या है?

उत्तर

6

किसी तारीख के वर्ष को निकालने के लिए, आपको date फ़िल्टर "%Y" के साथ फ़िल्टर करना होगा (पूर्ण वाक्यविन्यास here सूचीबद्ध है)। 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

यह वास्तव में आपके लिए काम करता है? मैंने कभी काम करने की स्थिति में ऐसी 'if' स्थिति बनाने में कामयाब नहीं रहा। न तो आपका जैकिल 0.11.2 और तरल 2.3.0 के साथ काम करता है। – manatwork

+0

@manatwork ओह, यह निश्चित रूप से _appeared_ काम करने के लिए काम करने के लिए, लेकिन मुझे इस तथ्य से चूक गया कि यह नहीं था .... अब फिक्स्ड। – huon

+0

तो, आप यह कैसे करेंगे, लेकिन उस वर्ष के दौरान किसी भी पोस्ट के अस्तित्व की जांच करें? उदाहरण के लिए, यदि 2008 में पोस्ट हैं, तो एच 4 प्रिंट करें। –

संबंधित मुद्दे