2013-06-22 4 views
6

मुझे लगता है कि जेकिल के पृष्ठों को प्रबंधित करने का मूल तरीका, यानी रूट फ़ोल्डर के नीचे .md फ़ाइल/फ़ोल्डर्स बनाकर, थोड़ा गन्दा है।जेकिल में एक फ़ोल्डर के तहत पेज दिखाएं?

इस प्रकार मैं "पेज" नामक फ़ोल्डर में, जो भी पेज दिखाना चाहता हूं उसे रखना चाहता हूं। साथ ही, मैं एक सोपानी संरचना के लिए इन पृष्ठों चाहते हैं: कहते हैं कि मेरी फ़ोल्डर संरचना है यदि:

page listing 
* parent1 
    * son1 
    * son2 
* parent2 
:

pages 
|-> parent1 
     |-> index.html 
     |-> son1.html 
     |-> son2.html 
|-> parent2 
     |-> index.html 
तब पृष्ठों-सूची पेज में

, यह कुछ इस तरह होना चाहिए

और इसके अतिरिक्त, अन्य * .html फ़ाइल, जो पेज फ़ोल्डर के अंतर्गत नहीं हैं, को इस पृष्ठ-सूची पृष्ठ में नहीं दिखाया जाना चाहिए।

मुझे यह कैसे करना चाहिए?

बहुत बहुत धन्यवाद।

उत्तर

1

ऐसा करने से आपको कुछ भी नहीं रोक रहा है। उपर्युक्त परिदृश्य में, yourdomain.tld/pages/prent1/son1.html माता-पिता 1/son1 फ़ाइल का URL होगा।

हालांकि, नेस्टेड लिस्टिंग बनाना अधिक जटिल होगा। आप YAML फ्रंट मैटर में उस संरचना को या तो चिपका सकते हैं, या पोस्ट का उपयोग कर सकते हैं।

pages 
|-> parent1 
    |-> _posts/ 
     |-> index.html 
     |-> son1.html 
     |-> son2.html 
|-> parent2 
    |->_posts 
     |-> index.html 

=> इस तरह अपनी फ़ाइलें श्रेणियों parent1 और parent2 और आप श्रेणियों और उनकी सामग्री प्रदर्शित करके सूची बना सकते हैं में पदों होगा।

यदि आप वास्तव में पोस्ट और श्रेणियों का उपयोग किए बिना पेड़ संरचना प्रदर्शित करना चाहते हैं, तो आपको और अधिक काला जादू करना होगा। लेकिन सौभाग्य से, तरल एक split फ़िल्टर प्रदान करता है जिसे आप साइट के पथ को टुकड़ों में विभाजित करने के लिए उपयोग कर सकते हैं, उदा।

{% for page in site.pages %}    
    {{ page.url | split:'/' | join:'+'}} 
{% endfor %} 
इसके बजाय उन्हें शामिल होने के

(यह विशुद्ध रूप से demonstartion के लिए है), तो आप एक सरणी जो कि सरणी निर्देशिका वृक्ष प्रदर्शित करने के लिए अधिक पुनरावृति पर बाद में वृक्ष संरचना रखती है और फिर पॉप्युलेट करने के लिए चाहते हैं। यह संभव है, लेकिन आसान नहीं है। और मुझे नहीं लगता कि कुछ आसानी से उपलब्ध है।

शायद प्लगइन लिखना आसान है।

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