Sha256: f7eceb5f370d948a42e95471084739c5bb9c757ddcf0fedbc3fbc5ed7208a599

Contents?: true

Size: 1.12 KB

Versions: 4

Compression:

Stored size: 1.12 KB

Contents

module Middleman::Extensions
  module AutomaticImageSizes
    class << self
      def registered(app)
        require "middleman-core/extensions/automatic_image_sizes/fastimage"

        app.send :include, InstanceMethods
      end
      alias :included :registered
    end
  
    module InstanceMethods
      def image_tag(path, params={})
        if !params.has_key?(:width) && !params.has_key?(:height) && !path.include?("://")
          params[:alt] ||= ""
          http_prefix = http_images_path rescue images_dir

          begin
            real_path = File.join(source, images_dir, path)
            full_path = File.expand_path(real_path, root)
            http_prefix = http_images_path rescue images_dir
            if File.exists? full_path
              dimensions = ::FastImage.size(full_path, :raise_on_failure => true)
              params[:width]  = dimensions[0]
              params[:height] = dimensions[1]
            end
          rescue
            # $stderr.puts params.inspect
          end
        end
      
        super(path, params)
      end
    end
  end
  
  register :automatic_image_sizes, AutomaticImageSizes
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
middleman-core-3.0.0.beta.1 lib/middleman-core/extensions/automatic_image_sizes.rb
middleman-core-3.0.0.alpha.9 lib/middleman-core/extensions/automatic_image_sizes.rb
middleman-core-3.0.0.alpha.8 lib/middleman-core/extensions/automatic_image_sizes.rb
middleman-core-3.0.0.alpha.7 lib/middleman-core/extensions/automatic_image_sizes.rb