2012-07-02 14 views
9

Ho visto alcuni messaggi dicendo si può passare solo le stringhe letterali alla materia fronte di Jekyll istruzione include in questo modo:dinamico include

{% include mypage.ext %} 

Tuttavia, ho il seguente layout HTML per praticamente ogni pagina:

<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> 

Sarebbe doloroso dover includere in ogni singola pagina per ottenere il layout che sto cercando. Il file incluso sarebbe pertinente alla pagina corrente, quindi speravo che qualcuno conoscesse un qualche modo per farlo. Naturalmente sarebbe qualcosa del tipo:

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

Ho visto alcuni altri post che dicono che non può succedere.

Quindi, voglio solo essere in grado di caricare dinamicamente include in Jekyll.

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

+2

I tuoi include hanno alcune varianti utilizzate più volte o ogni pagina ha un contenuto unico? Ho un set-up simile e ho usato un argomento caso "when" con un semplice test di logica in modo che quando era impostata la condizione di materia anteriore "a", allora includeva il file "matched-for-a.ext". – motleydev

+2

per esempio: '{case modello%%} {% quando 'indice' %} Benvenuti {% quando 'prodotto' %} {{ product.vendor | link_to_vendor}}/{{product.title}} {% else%} {{page_title}} {% endcase%} ' – motleydev

risposta

4

Questo è attualmente intenzionalmente non è possibile, come i manutentori di Jekyll non vogliono il progetto per ottenere troppo dinamica. È possibile leggere this comment & thread per un po 'di background. Il suggerimento che dà qrush (il manutentore) è di usare le rotaie o i sinatra. Probabilmente non è la risposta che stai cercando, ma questo è lo stato attuale.

Se si desidera utilizzare un plugin, ce n'è uno che vi permetterà di fare questo here

+2

Sì, ho guardato le richieste di pull e i commenti. I produttori davvero non lo vogliono lì dentro. Grande vergogna – Kezzer

5

Questo sarà forse possibile quando that issue saranno fissati con the pull request #1495 che propongono esattamente quello che stai cercando: {% include {{page.file}} %}