module Middleman::CoreExtensions::Rendering::InstanceMethods
def wrap_layout(layout_name, &block)
-
(void)
-
Parameters:
-
layout_name
(String, Symbol
) --
def wrap_layout(layout_name, &block) # Save current buffer for later @_out_buf, _buf_was = "", @_out_buf layout_path = locate_layout(layout_name, current_engine) extension = File.extname(layout_path) engine = extension[1..-1].to_sym # Store last engine for later (could be inside nested renders) @current_engine, engine_was = engine, @current_engine begin content = if block_given? capture_html(&block) else "" end ensure # Reset stored buffer @_out_buf = _buf_was end concat_content render_individual_file(layout_path, @current_locs || {}, @current_opts || {}, self) { content } ensure @current_engine = engine_was end