nanoc ルールで次のテストを使用して、複数のディレクトリ内のさまざまな種類のコンテンツ (パーシャルを含む) をコンパイルし、それらを同じ名前のレイアウトと照合します。
各コンテンツ ディレクトリにインデックス ファイルを追加しましたが、これらには既定のレイアウトが必要です。「index:」という名前のアイテムを「index.md」ファイルのメタデータに追加すると、これは明らかに正常に機能します…</p>
---
title: 'This page title'
index: 'y'
---
…しかし、チェックif @item[:index]
は少し不格好に思えるので、メタデータから 'index:' を省略し、nanoc 担当者名または識別子でテストする方法を見つけるために (まあ、ハッキングして) 試みてきました - のコメントアウトされたif
ステートメントを参照してください以下のコード:
layouts = ['layoutone','layouttwo','layoutetc']
layouts.each do |dir|
compile "/#{dir}/*" do
# if item.identifier == "/#{dir}/index/"
# if item.identifier =~ %r{/\w/index/}
# if @item.rep_named(:index)
if @item[:index]
filter :kramdown
layout "default"
elsif @item[:inc]
filter :erb
filter :kramdown
layout "#{dir}"
else
filter :kramdown
layout "#{dir}"
end
end
end
コメントアウトされた行の構文/ロジックの何が問題になっていますか?
編集:
私はここで盲目的に明白なことを見逃していました: create and と/content/dir_name.md
同じレベルでaddし、それらのファイルにルールを適用するだけです。/content/dir_name/*
/dir_name/index.html
/dir_name/*.html
/content/dir_name.md