Agrupar colecciones en un directorio superior
En Jekyll, una colección es un conjunto de documentos (como posts, páginas o archivos Markdown) que puedes organizar por tipo, tema o propósito. Por defecto, Jekyll usa carpetas como _posts o _projects, pero ¿qué pasa si quieres agrupar varias colecciones dentro de un directorio superior, por ejemplo:
-
colecciones/-
_posts/(opcional) -
_tutoriales/ -
_casos/
-
Esto es súper útil cuando quieres mantener tu proyecto más limpio y ordenado, especialmente si tienes muchas colecciones.
Esto se puede hacer, pero hay que configurarlo manualmente en _config.yml y usar rutas personalizadas.
Estructura recomendada
Para trabajar con la siguiente estructura:
-
colecciones/-
_tutoriales/ -
_casos/
-
El nombre de la carpeta de cada colección debe empezar con
_para que Jekyll lo trate como colección.
Añadimos la configuración correspondiente en el _config.yml:
1
2
3
4
5
6
7
8
9
collections_dir: colecciones
collections:
tutoriales:
output: true
permalink: /tutoriales/:title/
casos:
output: true
permalink: /casos/:title/
Qué hace esto:
collections_dir: coleccionesle dice a Jekyll que busque las colecciones dentro de esa carpeta.- Luego defines cada colección con su permalink.
Cómo referenciar una colección en Liquid
Por ejemplo, para listar los tutorials:
1
2
3
{% for tutorial in site.tutoriales %}
<a href="{{ tutorial.url }}">{{ tutorial.title }}</a>
{% endfor %}
Agrupar colecciones en un directorio superior en Jekyll es una forma excelente de mantener tu proyecto limpio y escalable. Solo necesitas:
- Configurar
collections_dir - Definir cada colección en
_config.yml - Mantener la estructura dentro de
_collections
Las ventajas de agrupar colecciones son muchas:
- Tu repo queda más limpio y fácil de navegar.
- Cuando crezcas, no se te desordena todo en
_posts. - Puedes tener distintos permalinks y configuraciones por colección.
