liquid - pages - Iterar sobre hashes en plantillas líquidas.
liquid syntax shopify (3)
Cuando se itera sobre un hash usando una variable llamada hash
, hash[0]
contiene la clave y hash[1]
contiene el valor en cada iteración.
{% for link_hash in page.links %}
{% for link in link_hash %}
<a href="{{ link[1] }}">{{ link[0] }}</a>
{% endfor %}
{% endfor %}
Estoy escribiendo un sitio en Jekyll, que usa Liquid.
Tengo una cuestión de frente para las páginas que me gustaría tener este aspecto:
---
title: Designing algorithms that scale horizontally
speaker: Luke Ehresman, CopperEgg
category: notes.mongodallas.talks
links:
- demo: http://www.github.com/copperegg/mongo-scaling-demo
layout: talknotes
---
En Liquid, la sección de enlaces de YAML aparece como:
[{''demo'' => ''http://www.github.com/copperegg/mongo-scaling-demo'' }]
Me gustaría poder iterar sobre la matriz, haciendo algo como esto:
<a href="{{ link.value }}">{{ link.key }}</a>
Pero cualquier idea que haya tenido hasta ahora me ha fallado.
Los definiría así en YAML:
links:
demo: http://www.github.com/copperegg/mongo-scaling-demo
Y luego iterar:
{% for link in page.links %}
<a href="{{ link[1] }}">{{ link[0] }}</a>
{% endfor %}
{% for link in page.links %}
{% for item in link %}
<a href="{{ item[0] }}">{{ link[1] }}</a>
{% endfor %}
{% endfor %}
Tuve un problema muy similar, pero tenía varios elementos en mi variable, así que utilicé la variable del item
no documentado e hice el trabajo.