class Awestruct::Handlers::InterpolationHandler
Public Class Methods
new(site, delegate)
click to toggle source
Calls superclass method
Awestruct::Handlers::BaseHandler::new
# File lib/awestruct/handlers/interpolation_handler.rb, line 8 def initialize(site, delegate) super( site, delegate ) end
Public Instance Methods
rendered_content(context, with_layouts=true)
click to toggle source
# File lib/awestruct/handlers/interpolation_handler.rb, line 12 def rendered_content(context, with_layouts=true) content = delegate.raw_content return nil if content.nil? return content unless front_matter.fetch('interpolate', site.interpolate) == true content = content.gsub( /\\/, '\\\\\\\\' ) content = content.gsub( /\\\\#/, '\\#' ) content = content.gsub( /#(?!\{)/, '\#' ) content = content.gsub( '@', '\@' ) content = "%@#{content}@" begin c = context.instance_eval( content ) rescue Exception => e # Don't barf all over ourselves if an exception is thrown ExceptionHelper.log_building_error e, relative_source_path c = delegate.raw_content end c end