如何在Jekyll/liquid中获取哈希的密钥和值



我有一个Jekyll页面,设置如下:

---
navigation:
 - FOO: foo
 - BAR: bar
 - BAZ: baz
---
<h3>
  <a name="{{ page.navigation[0][1] }}" class="anchor" 
     href="#{{ page.navigation[0][1] }}">
  </a>{{ page.navigation[0][0] }}
</h3>
<p>Lorem ipsum dolor sit amet,.</p>
...
<h3>
  <a name="{{ page.navigation[1][1] }}" class="anchor" 
     href="#{{ page.navigation[1][1] }}">
  </a>{{ page.navigation[1][0] }}
</h3>
<p>Different content ...</p>
...
<h3>
  <a name="{{ page.navigation[2][1] }}" class="anchor" 
     href="#{{ page.navigation[2][1] }}">
  </a>{{ page.navigation[2][0] }}
</h3>
<p>Another different content ...</p>
...

在上面的例子中,我试图使用前面的href链接中每个导航项目的keyvalue

我不能使用{% for %}迭代,因为每个段落中都有不同的内容。

我的愿望是让杰基尔输出以下代码:

<h3>
  <a name="foo" class="anchor" href="#foo">
  </a>FOO
</h3>
<p>Lorem ipsum dolor sit amet,.</p>
...
<h3>
  <a name="bar" class="anchor" href="#bar">
  </a>BAR
</h3>
<p>Different content ...</p>
...
<h3>
  <a name="baz" class="anchor" href="#baz">
  </a>BAZ
</h3>
<p>Another different content</p>
...

有什么办法吗?

您可以在导航中的每个项目周围扭曲一个for循环,如下所示:

<h3>
    {% for item in page.navigation[0] %}
     <a name="{{ item[1] }}" class="anchor" 
        href="#{{ item[1] }}">
     </a>{{ item[0] }}
     {% endfor %}
</h3>
<p>Lorem ipsum dolor sit amet,.</p>
<h3>
    {% for item in page.navigation[1] %}
     <a name="{{ item[1] }}" class="anchor" 
        href="#{{ item[1] }}">
     </a>{{ item[0] }}
     {% endfor %}
    </h3>
<p>Different content ...</p>

<h3>
    {% for item in page.navigation[2] %}
     <a name="{{ item[1] }}" class="anchor" 
        href="#{{ item[1] }}">
     </a>{{ item[0] }}
     {% endfor %}
    </h3>
<p>Another different content</p>

最新更新