如何在Jekyll / liquid中获取哈希的键和值?

Bab*_*k K 5 yaml liquid jekyll

我有一个带有以下设置的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>

...
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用前面示例中的链接在前面的内容中使用keyvalue的每个导航项href

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

我的愿望是让Jekyll输出以下代码:

<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>

...
Run Code Online (Sandbox Code Playgroud)

任何想法如何做到这一点?

小智 0

您可以像这样围绕导航中的每个项目扭曲 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>
Run Code Online (Sandbox Code Playgroud)