lib/nanoc/helpers/rendering.rb in nanoc-4.0.0a2 vs lib/nanoc/helpers/rendering.rb in nanoc-4.0.0b1
- old
+ new
@@ -75,12 +75,13 @@
#
# @return [String, nil] The rendered partial, or nil if this method was
# invoked with a block
def render(identifier, other_assigns = {}, &block)
# Find layout
- layout = @site.layouts.find { |l| l.identifier == identifier.__nanoc_cleaned_identifier }
- raise Nanoc::Int::Errors::UnknownLayout.new(identifier.__nanoc_cleaned_identifier) if layout.nil?
+ layout = @layouts[identifier]
+ layout ||= @layouts[identifier.__nanoc_cleaned_identifier]
+ raise Nanoc::Int::Errors::UnknownLayout.new(identifier) if layout.nil?
# Visit
Nanoc::Int::NotificationCenter.post(:visit_started, layout)
Nanoc::Int::NotificationCenter.post(:visit_ended, layout)
@@ -91,17 +92,17 @@
assigns = {
content: captured_content,
item: @item,
item_rep: @item_rep,
items: @items,
- layout: layout,
+ layout: Nanoc::LayoutView.new(layout),
layouts: @layouts,
config: @config,
site: @site
}.merge(other_assigns)
# Get filter name
- filter_name, filter_args = @site.compiler.rules_collection.filter_for_layout(layout)
+ filter_name, filter_args = @site.unwrap.compiler.rules_collection.filter_for_layout(layout)
raise Nanoc::Int::Errors::CannotDetermineFilter.new(layout.identifier) if filter_name.nil?
# Get filter class
filter_class = Nanoc::Filter.named(filter_name)
raise Nanoc::Int::Errors::UnknownFilter.new(filter_name) if filter_class.nil?