是否可以在不知道它们的情况下循环遍历 jekyll 页面的 yaml 变量?

is possible to loop through yaml variables of jekyll page without knowing them?

我想在不知道名称的情况下使用 liquid 遍历 Jekyll 页面的 yaml 变量列表并打印它们的键/值。

我用 "object"(错误的)形式主义来说明我的问题:

如:

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

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

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

我想得到:

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

准确地说,我不想在变量本身之一内部循环,因为我不知道我的 jekyll posts 的 Yaml 前端内容的结构因为它们各不相同。

可能我错了,但我没有找到任何可以完成这项工作的清晰流畅的语法。

谢谢

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

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

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

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

Edit :这与 Collections 不同,其中“pages”是事实上文档对象(posts 或任何自定义集合)

在这里你必须这样调用 key/value :

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