首页 文章

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

提问于
浏览
0

我想通过jekyll页面的yaml变量列表迭代液体而不知道它们的名字并打印它们的键/值 .

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

作为:

{% 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前端的结构,因为它们各不相同 .

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

谢谢

1 回答

  • 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%}
    

    Edit :与 Collections 不一样,其中“pages”实际上是Document对象( posts 或任何自定义集合)

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

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

相关问题