2012-07-02 11 views
9

He visto algunos mensajes diciendo que sólo se puede pasar cadenas literales a los preliminares de Jekyll instrucción de inclusión de esta manera:dinámico incluye

{% include mypage.ext %} 

Sin embargo, Tengo el siguiente diseño HTML para casi todas las páginas:

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

Esto sería doloroso tener que incluir en cada página para lograr el diseño que estoy buscando. El archivo incluido sería relevante para la página actual, así que esperaba que alguien supiera algún tipo de forma de hacerlo. Por supuesto que sería algo a lo largo de las líneas de:

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

que he visto algunos otros puestos de decir esto simplemente no puede suceder sin embargo.

Por lo tanto, solo quiero cargar dinámicamente incluye en Jekyll.

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

+2

¿Tiene su incluye algunas variaciones utilizadas una y otra vez o cada página tiene una única inclusión? Tengo una configuración similar y usé un argumento de caso "cuándo" con una prueba lógica simple para que cuando se configuró la condición de la materia prima "a", incluya el archivo "coincidente para-a.ext". – motleydev

+2

por ejemplo: '{% la plantilla del caso %} {% cuando 'índice' %} { Bienvenido % cuando 'producto' %} {{ product.vendor | link_to_vendor}}/{{product.title}} {% else%} {{page_title}} {% endcase%} ' – motleydev

Respuesta

4

Ésta es actualmente intencionalmente no es posible, ya que los encargados del mantenimiento de Jekyll no quieren que el proyecto para obtener demasiado dinámico. Puede leer this comment & thread para obtener un poco de información de fondo. La sugerencia de qrush (el mantenedor) es usar rieles o sinatra. Probablemente no es la respuesta que está buscando, pero ese es el estado actual.

Si desea utilizar un plugin, hay uno que le permita realizar esta here

+2

Sí, he estado viendo las solicitudes de extracción y los comentarios. Los fabricantes realmente no lo quieren allí. Gran vergüenza. – Kezzer