2012-11-21 12 views
6

3 farklı _layouts var.Jekyll index.html 3 farklı _layouts kullanan

  • sonrası link.html
  • sonrası article.html
  • sonrası photo.html

Ben index.html tüm Gönderimimi gösterebilir ama hepsi aynı olması düzeni. Aynı sayfada birden fazla düzen gösterebilir miyim (index.html)?

cevap

2

Bir sayfada yalnızca bir düzen bulunabilir. İhtiyacınız olan şey, bir mesajın görüntüleneceği her yerde kullanabileceğiniz _includes'tir.

+0

Buna bakacağım. _includes üstbilgiler, altbilgiler ve kenar çubukları gibi şeyler için daha fazla kullanılır gibi görünüyor ama ne yapabilirim göreceğiz. Tavsiye için teşekkürler. – user1840885

19

Bir sayfa yalnızca bir layout olabilir, ancak düzenler yuvalanabilir.

Ben üç _layouts:

  • master.html
  • default.html'dir
  • post.html

master düzeni olan herhangi sayfa istediğim temel yapının tüm gerekecek.

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

Ben bu blog olmayan çoğu sayfalar için default düzenini kullanın: Böyle şey görünüyor. YAML'nin ön sayfasındaki sayfalarda ve page değişkenlerinin kapsamlı bir şekilde kullanılmasını sağlarım. düzen şöyle görünür:
--- 
layout: master 
--- 
<h1> 
    {{ page.title }} 
    {% if page.subtitle %}<small>{{ page.subtitle }}</small>{% endif %} 
</h1> 
{% if page.description %}<p>{{ page.description }}</p>{% endif %} 
{{ content }} 

Ben _posts sayfalar için post düzenini kullanır. Bu şuna benzer:

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

yapamıyor Her blog yazısı, ben post düzenini kullanır ve hepsi üç düzenleri arasından devralır.

Yeniden kullanılabilir biçimlendirme parçacıklarına sahip olmak istiyorsanız, _includes'u kullanmanızı öneririz.