如何在中间人4中访问文章布局数据属性?

时间:2016-12-06 21:41:55

标签: erb middleman yaml-front-matter

我正在尝试从Middleman 4迁移我的博客。在我的index.html.erb文件中,我有这样的代码:

<% page_articles.each_with_index do |article, i| %>
    <% if article.data.layout == 'post' %>
        <%= partial "post", :locals => { :article => article} %>
    <% elsif article.data.layout == 'micro' %>
        <%= partial "micro", :locals => { :article => article} %>
    <% end %>
<% end %>

这在Middleman 3中运行良好,我可以使用不同的部分,具体取决于每个帖子前面定义的布局属性。

但是,在Middleman 4中,在article.data中不再显示layout属性。

所有其他变量都存在。到目前为止,完成这项工作的唯一方法是声明这样的前端:

---
layout: post
l: post
title:  "Foo"
date:   2012-10-22 15:14:01
categories: Bar
tags:
---

并使用article.data.l而不是article.data.layout。然而,这要求我重写所有文章并且似乎是多余的。

根据布局属性,在索引页面上使用不同的部分呈现文章的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

在Middleman 4中,layout属性被视为option而不是data

您应该可以使用layoutarticle.options.layout访问网页article.options[:layout]媒体资源的价值。