我想在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>
可能我错了,但我找不到任何明确的液体语法可以完成这项工作。
由于
答案 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%}