2016-12-06 9 views
0

仲介人4の記事レイアウトデータプロパティにアクセスする方法は?私は、このようなコードを持っている私のindex.html.erbファイルで仲介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プロパティはdataではなくoptionとみなされます。

article.options.layoutまたはおそらくarticle.options[:layout]を使用して、ページのlayoutプロパティの値にアクセスできるはずです。

+0

素晴らしい!ありがとうございました。 2番目のオプションは 'article.options [:layout]'で働いていました。 –

関連する問題