github - tag - Cómo renderizar una página de reducción de Jekyll en el índice de sitios
jekyll web pages (2)
Probablemente me esté perdiendo algo simple, pero no tengo forma de probar a Jekyll localmente.
Estoy usando las páginas de GitHub para renderizar Jekyll, para empezar, solo quiero presentar contenido de rebajas en el index.html principal de una página de descuentos.
La estructura es:
Index.html
---
layout: default
---
_layouts
- default.html
//html stuff..
<section>
{{page.content}}
</section>
En la carpeta raíz, tengo una página llamada content.md
que deseo {{page.content}}
para {{page.content}}
los {{page.content}}
renderizados pero la sección de etiquetas líquidas está en blanco.
¿Cómo presento content.md
?
Hay algunas cosas pasando aquí.
En su archivo
_layouts/default.html
(y cualquiera de los otros archivos de directorio de_layouts
), en lugar de:{{ page.content }}
necesitas usar:
{{ content }}
Jekyll solo le permite incluir archivos desde un nivel raíz del sitio
_includes
directorio. Por lo tanto, debe mover sucontent.md
de la raíz a ese directorio (para hacerlo si aún no existe).Finalmente, debe realizar la llamada al archivo de inclusión desde su archivo index.html. Esto se puede hacer cambiando el contenido de su archivo index.html a:
--- layout: default --- {% include content.md %}
Eso configurará el comportamiento que estás buscando.
Yo señalaría otras dos cosas:
Puede encontrar que cambiar la extensión de su archivo de índice de
.html
a.md
funciona mejor. Sin embargo, una nota importante: necesitas usar.html
si quieres paginación. Según la documentación de Jekyll Pagination , esa característica solo funciona cuando el archivo se llamaindex.html
.Si todo lo que está haciendo en su archivo de índice está llamando a una inclusión que solo reside en esa página, puede que le resulte tan fácil simplemente colocar el contenido directamente en el archivo de índice.
include
solo le permite incluir archivos directamente en _includes/
. También hay include_relative que le permite usar rutas e incluir desde otros lugares. Sin embargo, el include debe ser relativo al archivo dado:
{% include_relative somedir/footer.html %}
Hay un problema con cualquiera de los métodos de inclusión que no puedo resolver: si el archivo que incluye tiene material principal, Jekyll no lo eliminará. Por lo tanto, no puede usar la información de frente para almacenar incluir metadatos específicos, como decir "título". Por supuesto, puede usar variables - {% assign title = "My Title" %}
pero no es equivalente, porque si desea que lo que incluye sea parte de una colección o lo represente de manera independiente, debe tener un frente.