是否可以在不知道它们的情况下循环遍历 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%}
我想在不知道名称的情况下使用 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%}