class Middleman::Extensions::AutomaticImageSizes

Automatic Image Sizes extension

def image_tag(path, params={})

Returns:
  • (String) -

Parameters:
  • params (Hash) --
  • path (String) --
def image_tag(path, params={})
  if !params.has_key?(:width) && !params.has_key?(:height) && !path.include?('://')
    params[:alt] ||= ''
    real_path = path
    real_path = File.join(images_dir, real_path) unless real_path.start_with?('/')
    full_path = File.join(source_dir, real_path)
    if File.exists?(full_path)
      begin
        width, height = ::FastImage.size(full_path, :raise_on_failure => true)
        params[:width]  = width
        params[:height] = height
      rescue FastImage::UnknownImageType
        # No message, it's just not supported
      rescue
        warn "Couldn't determine dimensions for image #{path}: #{$!.message}"
      end
    end
  end
  super(path, params)
end

def initialize(app, options_hash={}, &block)

def initialize(app, options_hash={}, &block)
  super
  # Include 3rd-party fastimage library
  require 'vendored-middleman-deps/fastimage'
end