Estoy trabajando en un sitio de Jekyll y estoy tratando de generar tres divisiones de columna anidadas en una fila div. Liquid hace que este muy fácil con su filtro de cycle
:Módulo (o falta del mismo) en el motor de plantillas líquidas de Ruby
{% for p in site.categories.post %}
{% cycle 'add rows': '<div class="row">', nil, nil %}
<div class="column">
<a href="{{ p.url }}">{{ p.title }}</a>
</div>
{% cycle 'close rows': nil, nil, '</div>' %}
{% endfor %}
Sin embargo, esto sólo funciona cuando hay 3, 6, 9, etc. puestos. Cuando el número total de publicaciones no es un múltiplo de tres, el <div class="row">
nunca se cierra: el bucle for finaliza antes de que la etiqueta de cierre pueda salir como parte del ciclo close rows
.
En Ruby, PHP, o cualquier otro lenguaje que fácilmente podría solucionar este problema con un operador de módulo, lo que además de close rows
ciclo de producción que lo haría cuando </div>
if site.categories.size % 3 == 0
. Sin embargo, Liquid, porque es un lenguaje de plantillas seguro, no es compatible con el módulo.
¿Qué más puedo hacer para cerrar correctamente <div class="row">
cuando el número total de publicaciones no es un múltiplo de tres?
¡Eso funciona perfectamente! ¡Gracias! – Andrew