ブログを 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 では問題なく機能し、各投稿の front matter で定義されたレイアウト プロパティに応じて、別のパーシャルを使用できました。
ただし、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
。ただし、これにはすべての記事を書き直す必要があり、冗長に思えます。
レイアウト プロパティに応じて異なるパーシャルを使用してインデックス ページに記事を表示する正しい方法は何ですか?