Sha256: 4c9793553903bec855e971a2ca3e529cbf9b8644ce670677f13037b991d5dec2

Contents?: true

Size: 1.5 KB

Versions: 29

Compression:

Stored size: 1.5 KB

Contents

module Locomotive
  module Steam
    module Liquid
      module Filters
        module Resize

          # Optional args include:
          #   quality: <number> compress image
          #   auto_orient: <true|false> fix EXIF orientation issues
          #   strip: <true|false> remove extra possibly unnecessary metadata
          #   progressive: <true|false> make JPEG progressive
          #   optimize: <number> shortcut to quality: and also applies strip and progressive
          #   filters: <string> access to any ImageMagick arguments 
          def resize(input, resize_string, *args)
            args ||= {}
            options = []

            args.flatten.each do |arg|
              arg.each do |k, v|
                options << case k.to_sym
                when :quality
                  "-quality #{v}"
                when :optimize # Shortcut helper to set quality, progressive and strip
                  "-quality #{v} -strip -interlace Plane"
                when :auto_orient
                  "-auto-orient" if v
                when :strip
                  "-strip" if v
                when :progressive
                  "-interlace Plane" if v
                when :filters
                  v
                else
                  next
                end
              end
            end

            @context.registers[:services].image_resizer.resize(input, resize_string, options.join(' '))
          end

        end

        ::Liquid::Template.register_filter(Resize)

      end
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
locomotivecms_steam-1.8.0.alpha2 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.8.0.alpha1 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.7.1 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.7.0 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.6.1 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.6.0 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.6.0.rc1 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.6.0.beta1 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.5.3 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.5.2 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.5.1 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.5.0 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.5.0.rc1 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.5.0.rc0 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.5.0.beta3 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.5.0.beta2 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.5.0.beta1 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.4.1 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.4.0 lib/locomotive/steam/liquid/filters/resize.rb
locomotivecms_steam-1.4.0.rc2 lib/locomotive/steam/liquid/filters/resize.rb