Sha256: 6a2bd9a9b7561669629b0bc0f7df3a1bce94ff52f6dde72fa3f64835c01380a0
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
# # add resize_to param to image_tag to create thumbnails # # # Usage: # = image_tag item.image, resize_to: '50x30', class: 'center' # module MiddlemanSimpleThumbnailer class Extension < Middleman::Extension def initialize(app, options_hash={}, &block) app.helpers do def image_tag(path, options={}) resize_to = options.delete(:resize_to) return super(path, options) unless resize_to # config variables middleman_settings = self.config images_dir = middleman_settings[:images_dir] build_dir = middleman_settings[:build_dir] # image paths variables image_basename = File.basename(path) new_image_basename = image_basename.split('.').tap { |a| a.insert(-2, resize_to) }.join('.') new_image_path = path.gsub(image_basename, new_image_basename) # resize image = Magick::Image.read("./source/#{images_dir}/#{path}").first image.change_geometry!(resize_to) { |cols, rows, img| img.resize!(cols, rows) } # rendering if middleman_settings.environment == :development data = Base64.encode64(image.to_blob) super("data:#{image.mime_type};base64,#{data}", options) else image.write("./#{build_dir}/#{images_dir}/#{new_image_path}") super(new_image_path, options) end end end super end end end ::Middleman::Extensions.register(:middleman_simple_thumbnailer, MiddlemanSimpleThumbnailer::Extension)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
middleman-simple-thumbnailer-0.0.5 | lib/middleman-simple-thumbnailer/extension.rb |