【发布时间】:2020-06-06 23:03:22
【问题描述】:
我是 Jekyll 的新手,正在为我的一个项目创建一个文档网站。我正在尝试创建一个在文档中显示当前页面的侧边栏。为了存储文档的结构,我在_data 文件夹中创建了一个名为subsections.yml 的文件。这是文件:
- title: Quickstart # Section
data:
- Get started # Subsections
- The basics
- title: API documentation # Another section with subsections
data:
- Introduction
这是 html 模板文件的摘录,将用于文档中的页面。 (液体模板引擎):
{% assign subsecs = site.data.subsections | where: 'title', page.section %}
上面的代码创建了一个名为subsecs 的变量,它是通过读取subsections.yml 并过滤掉文档页面所涉及的部分上的数据而创建的。因此,如果页面的部分是 Quickstart,则 subsecs 变量将包含来自 subsecitons.yml 的 Quickstart 部分的所有数据。我用{{ subsecs }} 对此进行了测试,并通过输出:
{"title"=>"Quickstart", "data"=>["Get started", "The basics"]}
但是,当我尝试从该对象访问某个属性时,例如标题:
{{ subsecs.title }}
没有返回任何内容。为什么会发生这种情况,我如何在液体中访问属性方法?语法看起来是正确的,但是当我尝试它时,会呈现一个空字符串。
我尝试查看液体文档,但除了 method.property 之外什么也没找到,由于某种原因它不起作用。我还查看了类似的 SO 问题。
【问题讨论】: