आप अपना खुद का संग्रह site
पर इस तरह जोड़ नहीं सकते हैं।
site
केवल तीन संग्रहों के बारे में जानता है: pages
, posts
, और categories
। आप site.<category>.posts
कर कर किसी श्रेणी के सभी पद प्राप्त कर सकते हैं। AFAIK, श्रेणियां केवल पोस्ट के लिए काम करती हैं, पेज नहीं।
यह समझ में आता है, क्योंकि जैकिल मुख्य रूप से एक ब्लॉगिंग इंजन होना चाहिए, न कि एक सामान्य स्थिर वेबसाइट जनरेटर।
तो आपका सबसे अच्छा समाधान अभी जेकिल पर "झूठ बोलना" शामिल है। इसे विश्वास करें कि आपके पास पोस्ट हैं, जब वास्तव में आप पेज बना रहे हैं।
_posts/
pressitems/
blog/
आप इस तरह के अंदर _posts/pressitems तत्वों से अधिक पाश में सक्षम हो जाएगा:
for p in site.categories.blog.posts do
... {{ p.title }} ... {{ p.url }}
endfor
:
for item in site.categories.pressitems.posts do
... {{ item.title }} ... {{ item.url }}
endfor
इसी तरह, अपने 'असली ब्लॉग प्रविष्टियों "इस तरह से जाना होगा पकड़ यह है कि आपको फ़ाइल नामों के बारे में जेकिल के नामकरण सम्मेलन का सम्मान करना होगा; आपके प्रेसिटम्स को असली पोस्ट की तरह दिखना होगा। इसका मतलब है कि उन्हें नामों की तरह एक yyyy-mm-dd-string से शुरू करना होगा। बस उन्हें एक यादृच्छिक तारीख दें।
_posts/
pressitems/
1901-01-01-the-first-press-item.textile
1902-01-01-the-second-one.textile
संपादित करें: यह पोस्ट सच था जब यह पोस्ट मूल रूप से 2012 में लिखा गया था, लेकिन अब और नहीं। आधुनिक Jekyll आप के माध्यम से site.pages
{% for page in site.pages %}
<h3><a href="{{ page.url }}">{{ page.title }}</a></h3>
<p>{{ page.content }}</p>
{% endfor %}
अपने खुद के संग्रह https://jekyllrb.com/docs/collections/
इसे समझाने के लिए धन्यवाद। बहुत मदद मिली – PaulAdamDavis
मुझे लगता है कि यह 'endfor' होना चाहिए, लेकिन मुझे गलत हो सकता है। – Zaz
अद्यतन, धन्यवाद! – kikito