在液体模板中迭代哈希值

Bri*_*cks 44 liquid jekyll

我正在Jekyll写一个使用Liquid的网站.

我有前面的问题,我想看起来像这样:

---
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
---
Run Code Online (Sandbox Code Playgroud)

在Liquid中,YAML的链接部分来自:

[{'demo' => 'http://www.github.com/copperegg/mongo-scaling-demo' }]
Run Code Online (Sandbox Code Playgroud)

我希望能够迭代数组,做这样的事情:

<a href="{{ link.value }}">{{ link.key }}</a>
Run Code Online (Sandbox Code Playgroud)

但到目前为止,我所有的想法都让我失望了.

kik*_*ito 102

当您使用调用的变量迭代哈希时hash,hash[0]包含键并hash[1]包含每次迭代的值.

{% for link_hash in page.links %}
  {% for link in link_hash %}
    <a href="{{ link[1] }}">{{ link[0] }}</a>
  {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

  • 嗯,现在它确实看起来像一个答案,而不是电报.更新了我的投票以反映这一点. (4认同)

yeg*_*256 21

我会在YAML中定义它们:

links:
  demo: http://www.github.com/copperegg/mongo-scaling-demo
Run Code Online (Sandbox Code Playgroud)

然后迭代:

{% for link in page.links %}
  <a href="{{ link[1] }}">{{ link[0] }}</a>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)