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?