class Jekyll::ResponsiveImage::Renderer
Public Class Methods
new(site, attributes)
click to toggle source
# File lib/jekyll/responsive_image/renderer.rb, line 6 def initialize(site, attributes) @site = site @attributes = attributes end
Public Instance Methods
render_responsive_image()
click to toggle source
# File lib/jekyll/responsive_image/renderer.rb, line 11 def render_responsive_image cache_key = @attributes.to_s result = @attributes['cache'] ? RenderCache.get(cache_key) : nil if result.nil? config = Config.new(@site).to_h image = ImageProcessor.process(@attributes['path'], config) @attributes['original'] = image[:original] @attributes['resized'] = image[:resized] @attributes['resized'].each { |resized| keep_resized_image!(@site, resized) } image_template = @site.in_source_dir(@attributes['template'] || config['template']) partial = File.read(image_template) template = Liquid::Template.parse(partial) result = template.render!(@attributes.merge(@site.site_payload)) RenderCache.set(cache_key, result) end result end