我正在使用中间人处理静态站点,并尝试使用 mm 的本地数据功能。
目前,我在中间人项目的源目录中有所需的数据目录。
数据目录里面是一个yaml文件(home.yml)
这是文件的结构:
slides:
- image: "/img/slider/slide1.jpg"
image_alt: "Slide 1 alt text"
caption: "Slide 1 caption"
- image: "/img/slider/slide2.jpg"
image_alt: "Slide 2 alt text"
caption: "Slide 2 caption"
然后,我尝试在 html.erb 文件中循环浏览这些幻灯片,如下所示:
<%= data.home.slides.each do |s| %>
<figure class="slide">
<%= image_tag(s[:image], alt: s[:image_alt]) %>
<figcaption><%= s[:caption] %></figcaption>
</figure>
<% end %>
但是中间人在编译的 html 文件上吐了一个 NoMethodError 。
#<Middleman::CoreExtensions::Data::DataStore:0x4383918> 的未定义方法“home”
我不知道我做错了什么。我尝试将数据目录移动到源文件夹之外的一个级别,但没有任何效果。
似乎中间人无法识别数据目录中的 home.yml 文件夹。对此的任何帮助都非常感谢,因为我发现文档或对中间人数据功能的支持并不多。