Yaml 无法访问液体对象属性(Jekyll)

Yaml 无法访问液体对象属性(Jekyll),yaml,jekyll,liquid,Yaml,Jekyll,Liquid,我是Jekyll的新手,正在为我的一个项目创建一个文档网站。我试图创建一个边栏,显示文档中的当前页面。为了存储文档的结构,我在\u data文件夹中创建了一个名为subsections.yml的文件。文件如下: - title: Quickstart # Section data: - Get started # Subsections - The basics - title: API documentation # Another section with subsect

我是Jekyll的新手,正在为我的一个项目创建一个文档网站。我试图创建一个边栏,显示文档中的当前页面。为了存储文档的结构,我在
\u data
文件夹中创建了一个名为
subsections.yml
的文件。文件如下:

- title: Quickstart # Section
  data:
    - Get started # Subsections
    - The basics
- title: API documentation # Another section with subsections
  data:
    - Introduction
这里是html模板文件的摘录,将用于文档中的页面。(液体模板引擎):

上面的代码创建了一个名为
subsects
的变量,该变量是通过读取
subsections.yml
并过滤掉文档页面所涉及部分的数据创建的。因此,如果页面的节是
Quickstart
,那么
subsects
变量将包含
subsections.yml
Quickstart
节中的所有数据。我用
{{subsects}}
测试了这一点,它通过输出:

{"title"=>"Quickstart", "data"=>["Get started", "The basics"]}
但是,当我尝试从此对象(如标题)访问某个属性时:

{{ subsecs.title }}
一无所获。为什么会发生这种情况,我如何在liquid中访问属性方法?语法看起来是正确的,但当我尝试它时,会呈现一个空字符串


我试图查看liquid文档,但除了
method.property
,什么也没找到,因为某种原因,它不起作用。我还研究了类似的SO问题。

其中
过滤器返回一个数组

{% assign subsecs = site.data.subsections | where: 'title', page.section %}
{{ subsecs | inspect }} 
inspect
filter prints=>
[{“title”=>“Quickstart”,“data”=>[“Get start”,“The basics”]}]
括号表示数组

{% assign subsecs = site.data.subsections | where: 'title', page.section %}
{{ subsecs | inspect }} 
你可以做:

{% assign subsecs = site.data.subsections | where: 'title', page.section | first %}
{{ subsecs | inspect }}
first
过滤器提取数组的第一个元素

inspect
filter现在打印=>
{“title”=>“Quickstart”、“data”=>[“Get Start”、“The basics”]}

您现在可以访问对象的属性,如
subsecs.title