【发布时间】:2021-05-12 10:37:51
【问题描述】:
我正在使用 YAML/Jekyll/Liquid 生成页面,并且我有一个文件 taxonomy.yml,其中包含项目的“类型”(这与类别不同)和项目的属性。
这是一个例子:
fruits:
- apple:
color: red
size: medium
native: true
- grape:
color: green
size: small
native: false
现在我想以两种方式使用这些列表。
- ul/li 类型的列表,应如下所示:
水果的种类
- 苹果是红色和中等大小
- 葡萄是绿色和小大小
这是我目前所拥有的,但没有输出任何东西:
<ul>
{% for item in site.data.taxonomy.fruits %}
<li>??? is {{ item.color}} and size {{ item.size }}</li>
{% endfor %}
</ul>
- 我想使用给定帖子的“front matter”属性从导航列表中“查找”一个值,例如
---
title: The Pink Lady
fruit: apple
---
# All about the Pink Lady
Blah blah blah...
然后基于水果(在本例中为苹果)我希望能够放入帖子页面,如下所示:
粉红女郎
这篇文章是关于一种中等水果的。
关于粉红女郎的一切
呜呜呜……
为此,我必须转到 taxonomy.yml,并在“水果”列表中查找“苹果”(从前面的内容),然后读取“大小”属性(在这种情况下为中等) ) 打印到帖子中。
(假设值是唯一的,因此文件中只有一个“苹果”,并且始终指定“大小”)
这就是我所拥有的:
<h1>{{ page.title }}</h1>
<p>This article is about a {{ site.data.taxonomy.fruits[page.fruit].size }} fruit.</p>
我想我一定没有理解有关使用层次结构的一些细节,因为我相信这个想法基本上就在那里,但缺乏一些细节......请帮忙!
我认为我的误解可能在某种程度上与“列表项”和“键值对”之间的区别有关。我理解那些抽象的,但在这里很难应用它们。
【问题讨论】: