2012-11-21 13 views
6

का उपयोग करता है मेरे पास 3 अलग-अलग _layouts हैं।Jekyll index.html जो 3 अलग _layouts

  • बाद link.html
  • बाद article.html
  • बाद photo.html

मैं index.html पर मेरे सभी पोस्ट दिखा सकते हैं लेकिन वे सभी एक ही है लेआउट। क्या मैं किसी भी तरह एक ही पेज (index.html) पर एकाधिक लेआउट दिखा सकता हूं?

उत्तर

2

एक पृष्ठ में केवल एक लेआउट हो सकता है। आपको जो चाहिए वह _ शामिल है, जहां आप एक पोस्ट प्रदर्शित होने के लिए उपयोग कर सकते हैं।

+0

मैं इसे देख लूंगा। ऐसा लगता है जैसे हेडर, पाद लेख और साइडबार जैसी चीजों के लिए शामिल हैं लेकिन मैं देख सकता हूं कि मैं क्या कर सकता हूं। सलाह के लिए धन्यवाद। – user1840885

19

एक पृष्ठ में केवल एक layout हो सकता है, लेकिन लेआउट को घोंसला जा सकता है।

मेरे पास तीन _layouts:

  • master.html
  • default.html
  • post.html

master लेआउट है बुनियादी संरचना है कि किसी भी पेज मैं चाहता हूँ के सभी की आवश्यकता होगी।

<html> 
    <head> 
    <title>{{ page.title }}</title> 
    </head> 
    <body> 
    {{ content }} 
    </body> 
</html> 

मैं अधिकांश पृष्ठों पदों ब्लॉग नहीं कर रहे हैं के लिए default लेआउट का उपयोग: यह कुछ इस तरह दिखता है। मैं पृष्ठों के वाईएएमएल फ्रंट मामले में कुछ page चर के का व्यापक उपयोग करता हूं। लेआउट इस तरह दिखता है:

--- 
layout: master 
--- 
<h1> 
    {{ page.title }} 
    {% if page.subtitle %}<small>{{ page.subtitle }}</small>{% endif %} 
</h1> 
{% if page.description %}<p>{{ page.description }}</p>{% endif %} 
{{ content }} 

मैं _posts पृष्ठों के लिए post लेआउट का उपयोग करें। यह इस तरह दिखता है:

--- 
layout: default 
--- 
<p>Posted {{ page.date }}</p> 
<ul>{% for tag in page.tags %}...{% endfor %}</ul> 
{{ content }} 

हर ब्लॉग पोस्ट है कि मैं बनाने के लिए, मैं post लेआउट का उपयोग, और वे सभी तीन लेआउट से प्राप्त करती हैं।

यदि आप पुन: प्रयोज्य मार्कअप के स्निपेट चाहते हैं, तो मैं _includes का उपयोग करने की अनुशंसा करता हूं।

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