2012-07-02 37 views
9

Widziałem kilka postów mówiąc można przekazać tylko dosłowne ciągi do przodu sprawy Jekylla include tak:Dynamiczny Zawiera

{% include mypage.ext %} 

Jednak mam następujący układ HTML dla prawie każdej strony:

<section id="feature"> 
     <div class="container_12"> 
      <div class="grid_12 alpha omega"> 
       {% include myfile.ext %} 
      </div> 
     </div> 
    </section> 

    <section id="main"> 
     <div class="container_12"> 
      <div class="grid_12 alpha omega"> 
       {{ content }} 
      </div> 
     </div> 
    </section> 

Byłoby to bardzo bolesne, gdyby trzeba było umieścić je na każdej stronie, aby uzyskać pożądany układ. Dołączony plik byłby odpowiedni dla bieżącej strony, więc miałem nadzieję, że ktoś wiedział o jakimś sposobie na zrobienie tego. Oczywiście byłoby to coś w rodzaju:

{% include {{page.file}} %} 

Widziałem kilka innych postów mówiących, że to nie może się zdarzyć.

Po prostu chcę móc dynamicznie ładować załączniki w Jekyll.

Edit: https://github.com/mojombo/jekyll/issues/176

+2

Czy Twoje załączniki mają kilka odmian używanych w kółko, czy też każda ze stron ma unikalny dodatek? Mam podobną konfigurację i użyłem argumentu "when" case z prostym testem logicznym, aby po ustawieniu warunku frontowego "a" włączono plik "dopasowany-do-a-tekstu". – motleydev

+2

na przykład: '{% przypadek szablon%} {% kiedy 'index' %} Witamy {% gdy 'produkt' %} {{product.vendor | link_to_vendor}}/{{product.title}} {% else%} {{page_title}} {% endcase%} ' – motleydev

Odpowiedz

4

Jest to obecnie celowo nie jest możliwe, ponieważ opiekunowie Jekylla nie chcesz projekt, aby uzyskać zbyt dynamiczne. Możesz przeczytać this comment & thread dla odrobiny tła. Sugestia, że ​​qrush (opiekun) daje to użycie szyn lub sinatry. Prawdopodobnie nie jest to odpowiedź, której szukasz, ale taki jest obecny status.

Jeśli chcesz użyć wtyczki, jest jedna, która pozwoli Ci zrobić here

+2

Tak, oglądałem prośby o pociągnięcie i komentarze. Twórcy naprawdę tego nie chcą. Wielki wstyd. – Kezzer