可以在不知道的情况下循环使用jekyll页面的yaml变量吗?

可以在不知道的情况下循环使用jekyll页面的yaml变量吗?,yaml,jekyll,liquid,Yaml,Jekyll,Liquid,我想用liquid遍历Jekyll页面的yaml变量列表,而不知道它们的名称,并打印它们的键/值 我用“对象”(错误)的形式主义来说明我的问题: 作为: 因此,对于具有简单yaml前端内容的post文件: --- layout: post title: MyBlog --- 我想得到: key-name : layout , value : post key-name : title , value : MyBlog 确切地说,我不想在变量本身内部循环,因为我不知道我的jekyll帖子的Ya

我想用liquid遍历Jekyll页面的yaml变量列表,而不知道它们的名称,并打印它们的键/值

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

作为:

因此,对于具有简单yaml前端内容的post文件:

---
layout: post
title: MyBlog
---
我想得到:

key-name : layout , value : post
key-name : title , value : MyBlog
确切地说,我不想在变量本身内部循环,因为我不知道我的jekyll帖子的Yaml前端的结构,因为它们各自不同

也许我错了,但我没有找到任何清晰的、流畅的语法来完成这项工作


谢谢

当您在
页面上循环
(页面对象如索引、关于…)变量时,您会收到如下数组:

{% for var in page %}
  {{ var | inspect }} => ["layout", "default"]
如果要打印键值对,只需按其索引调用数组元素:

{% for var in page %}
  key-name : {{ var[0] }} , value : {{ var[1] }}
{% endfor%}
编辑:这与集合不同,其中“页面”实际上是文档对象(
发布
或任何自定义集合)

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

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

当您在
页面上循环
(页面对象如索引、关于等)变量时,您会收到如下数组:

{% for var in page %}
  {{ var | inspect }} => ["layout", "default"]
如果要打印键值对,只需按其索引调用数组元素:

{% for var in page %}
  key-name : {{ var[0] }} , value : {{ var[1] }}
{% endfor%}
编辑:这与集合不同,其中“页面”实际上是文档对象(
发布
或任何自定义集合)

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

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

你的jekyll版本是什么?jekyll 3.7.3。你是说他们改变了语法?对不起,我终于明白了。页面和文档对象的行为方式不同。编辑了我的答案。你的杰基尔版本是什么?杰基尔3.7.3。你是说他们改变了语法?对不起,我终于明白了。页面和文档对象的行为方式不同。编辑了我的答案。