J'écris un site dans Jekyll, qui utilise Liquid.
J'ai une première page pour les pages que j'aimerais ressembler à ceci:
---
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
---
Dans Liquid, la section des liens de YAML se présente comme suit:
[{'demo' => 'http://www.github.com/copperegg/mongo-scaling-demo' }]
J'aimerais pouvoir parcourir le tableau en faisant quelque chose comme ceci:
<a href="{{ link.value }}">{{ link.key }}</a>
Mais toutes les idées que j'ai eues jusqu'à présent m'ont échoué.
Lorsque vous parcourez un hachage à l'aide d'une variable appelée hash
, hash[0]
contient la clé et hash[1]
contient la valeur à chaque itération.
{% for link_hash in page.links %}
{% for link in link_hash %}
<a href="{{ link[1] }}">{{ link[0] }}</a>
{% endfor %}
{% endfor %}
Je les définirais comme ceci dans YAML:
links:
demo: http://www.github.com/copperegg/mongo-scaling-demo
Et puis répétez:
{% 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 %}
J'ai eu un problème très similaire, mais j'avais plusieurs éléments dans ma variable, j'ai donc utilisé la variable item
non documentée et elle a fait le travail.