2012-05-02 12 views
7

Quiero tener una plantilla "_layouts/template1.html" extender (estilo Django) una plantilla _layouts/default.html.¿Cómo manejar la herencia de plantillas (diseños) en Jekyll?

estoy poniendo esto como una cuestión delante YAML en _layouts/template1.html

--- 
layout: default 
--- 
{{page.content}} 

pero al parecer no funciona de la manera que me gustaría que funcione (todo el margen de beneficio adicional que es presente en template1.html pero IS NOT en default.html no se representa). Parece que el archivo que usa el diseño de la plantilla1 extiende por completo default.html.

¿Hay alguna forma de tener herencia de diseños en Jekyll?

Respuesta

1

template1.html de su ejemplo se extenderá default.html siempre que el último contiene un bloque {{ content }}. Ver here por ejemplo. Lo que no hará es que no sobrescribirá nada que ya contenga default.html. Para eso necesitarás la gema de herencia líquida, como lo menciona @juddlyon.

+1

El enlace está muerto – mateuszb

10

Lo que quiere decir es simplemente {{ content }}.

Sí, los diseños pueden ser canalizados. En su caso, si una página usa el diseño template1, es el contenido para template1. Entonces, el resultado de plantilla1 es el contenido para predeterminado.

3

plantillas de líquidos de Jekyll extenderse muy fácilmente, sólo hay que asegurarse de que está extendiéndose y no sobrescribir la plantilla deseada.

Es posible que desee ampliar la página y no la predeterminada.

Así, en su plantilla Letra pequeña:

--- 
layout:page 
--- 
Cuestiones relacionadas