【发布时间】:2016-10-28 14:48:40
【问题描述】:
我正在尝试建立一个 Jekyll 博客。但是我以前从未使用过 YAML,我对这件事的逻辑感到很生气。
首先,我在 _data/authors.yml 中编写了一个 YAML 文件,其中包含作者列表及其各自的元信息:
- authors:
- user: andre
name: Andre Santos
site: http://test.dev
email: andre@test.dev
- user: john
name: John Doe
site:
email: john.doe@test.dev
现在我想做两件非常简单的事情:首先,遍历所有作者,显示一些关于他们的信息:
{% for list in site.data.authors %}
{% for author in list %}
{{ author.user }} - {{ author.user.name }}
{% endfor %}
{% endfor %}
但它什么也没显示!
现在在代码的其他部分我只想从特定用户那里检索信息:
{% assign the_user = site.data.authors.authors[post.username] %}
{{ the_user.name }}
而且,它又一次什么也没显示!我不知道我做错了什么,我尝试了很多其他解决方案,迭代,但我无法对如何迭代 YAML 文件做出正面或反面,而且我不了解 Ruby,所以我找到的大多数解决方案当我将它们改编成 Jekyll + Liquid 时,这个网站对我不起作用。
我做错了什么?如何访问这些变量?
【问题讨论】:
-
将 YAML 文件的第一行更改为
authors:并使用用户名作为每个作者的密钥将修复它。否则,您在数组中有一个对象,而您正在访问作者,就好像它是一个对象中的一个对象。