可以循环浏览jekyll页面的yaml变量而不知道它们?

时间:2018-04-21 19:29:34

标签: yaml jekyll liquid

我想在Jekyll页面的yaml变量列表中使用liquid进行迭代,而不知道它们的名称并打印它们的键/值。

我用“对象”(错误的)形式主义来说明我的问题:

作为:

{% assign variables = page.data %}
{% for var in variables %}
 key-name : {{var.key}} , value : {{var.value}} , 
{% endfor%}

因此对于一个简单的yaml前端问题的帖子文件:

---
layout: post
title: MyBlog
---

我想得到:

key-name : layout , value : post
key-name : title , value : MyBlog

准确地说,我不希望将变量本身作为this question内部循环,因为我不知道我的jekyll帖子的Yaml前端的结构,因为它们各不相同。 / p>

可能我错了,但我找不到任何明确的液体语法可以完成这项工作。

由于

1 个答案:

答案 0 :(得分:1)

当您循环 Page (Page对象,如index,about,...)变量时,您会收到如下数组:

{% for var in page %}
  {{ var | inspect }} => ["layout", "default"]

如果要打印键值对,只需按索引调用数组元素:

{% for var in page %}
  key-name : {{ var[0] }} , value : {{ var[1] }}
{% endfor%}

修改:与收藏集不同,其中" "实际上是文档对象( posts 或任何自定义集合)

在这里你必须像这样调用键/值:

{% for var in page %}
      key : {{ var }} , value : {{ page[var] }}
{% endfor%}