Yaml Jekyll for loop over frontmatter数组返回两次

Yaml Jekyll for loop over frontmatter数组返回两次,yaml,jekyll,liquid,Yaml,Jekyll,Liquid,使用Jekyll3.8.5(用于Github页面) 我已设置了一个集合_resources,其中包含以下文件: --- title: Resource 1 categories: - title: cat3 level: 1 - title: cat2 level: 2 --- 我使用一个简单的液体循环遍历类别及其数据: <ul> {% for category in resource.categories %} <li

使用Jekyll3.8.5(用于Github页面)

我已设置了一个集合_resources,其中包含以下文件:

---
title: Resource 1
categories:
- title: cat3
  level: 1
- title: cat2
  level: 2
---
我使用一个简单的液体循环遍历类别及其数据:

<ul>
        {% for category in resource.categories %}
                <li> Category: {{ category.title }} | Level: {{ category.level }}</li>
        {% endfor %}
    </ul>
    {resource.categories%中的类别为%s}
  • 类别:{Category.title}}级别:{{Category.Level}
  • {%endfor%}
预期结果应该是:

<ul>
    <li> Category: cat3 | Level: 1</li>
    <li> Category: cat2 | Level: 2</li>
</ul>
  • 类别:三类|级别:1
  • 类别:第2类|级别:2
相反,我得到了额外的
  • 元素:

    <ul>
       <li> Category: cat3 | Level: 1</li>
       <li> Category: cat2 | Level: 2</li>
       <li> Category:  | Level: </li>
       <li> Category:  | Level: </li>
    </ul>
    
    • 类别:三类|级别:1
    • 类别:第2类|级别:2
    • 类别:|级别:
    • 类别:|级别:
    我使用
    {{categories.size}}
    进行检查,结果返回
    4

    所以,我肯定我的YAML格式有问题,让Jekyll觉得还有两个额外的类别

    我已尝试删除YAML中的连字符,但Jekyll抛出了一个错误:

    没有将哈希隐式转换为数组

    我非常感激你的帮助

    谢谢


    标记

    标记
    标记
    类别
    类别
    对集合中的文档(包括帖子)具有特殊意义

    Jekyll希望文档的
    标记
    类别
    属性是简单的字符串和 属性
    标记
    类别
    为简单数组

    您可以尝试将
    categories
    键替换为其他键,例如
    foobars
    。。 然后,如果更新的Liquid循环呈现了预期的标记,则一切就绪。用更合适的标签替换
    foobars


    如果问题仍然存在,则说明您的布局/包含有问题。

    谢谢!这是一个简单的解决方案。