Una de las limitaciones con las que me he encontrado al utilizar Jekyll para la creación de páginas web ligeras es el que este no cuenta con la opción de paginar en las categorías, la paginación es a nivel de todo el sitio.
En mi caso yo utilizo las categorías para separar áreas, por ejemplo, utilizo categorías como blog
y noticias
. Para solventar esta necesidad, tuve que crear un Jekyll Plugin.
Este plugin obtiene todas las categorías con sus publicaciones, e itera las publicaciones de cada categoría para agregar a cada publicación una referencia de tipo [category_name]_previous
donde el [category_name]
se reemplaza por el respectivo nombre de la categoría.
<script src=”https://gist.github.com/mmonge/0424bde855c1cbcca469.js“></script>
Para hacer uso de este plugin, por ejemplo, para la categoría noticias
se haría así:
{% highlight liquid linenos %}
{% raw %}
<ul class=“pagination”>
{% if page.noticias_previous %}
<li class="“prev”"><a href="/en/”{{/" page.noticias_previous.url | prepend: site.baseurl }}” title="”{{" page.noticias_previous.title>« Anterior</a></li>
{% else %}
<li class="“prev" disabled”><a>← Anterior</a></li>
{% endif %}
<li><a href="/en/”{{/" “noticias” | prepend: site.baseurl }}” title="“Listado" de noticias”>Noticias</a></li>
{% if page.noticias_next %}
<li class="“next”"><a href="/en/”{{/" page.noticias_next.url | prepend: site.baseurl }}” title="”{{" page.noticias.title>Siguiente »</a></li>
{% else %}
<li class="“next" disabled”><a>Siguiente →</a>
{% endif %}
</ul>
{% endraw %}
{% endhighlight %}
Esta solución ha sido probada con la versión jekyll 3.0.1
.