2016-12-06 32 views
0

我試圖從遷移中間人4.我的博客在我的index.html.erb文件我有這樣的代碼:如何訪問middleman 4中的文章佈局數據屬性?

<% 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 %> 

這在中間人3工作得很好,我可以使用不同的局部視佈局屬性在每個帖子的前端內容中定義。

但是,在Middleman 4中,layout屬性在article.data中不再可見。

所有其他變量都在那裏。迄今爲止,使這項工作的唯一方法是聲明frontmatter這樣的:

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

並使用article.data.l而非article.data.layout。但是,這要求我重寫所有文章並且看起來多餘。

根據佈局屬性,使用不同部分在索引頁上呈現文章的正確方法是什麼?

回答

1

在Middleman 4 layout屬性被認爲是option而不是data

您應該能夠使用article.options.layoutarticle.options[:layout]訪問頁面的layout屬性的值。

+0

太棒了!謝謝。第二個選項與'article.options [:layout]'一起工作 –