代码之家  ›  专栏  ›  技术社区  ›  demiton

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

  •  0
  • demiton  · 技术社区  · 8 年前

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

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

    作为:

    {% 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
    

    准确地说,我不想在变量本身中循环 this question 因为我不知道我的jekyll帖子的Yaml前台的结构,因为它们各不相同。

    也许我错了,但我找不到任何清晰的流动语法来完成这项工作。

    谢谢

    1 回复  |  直到 8 年前
        1
  •  3
  •   David Jacquel    8 年前

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

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