Sha256: 8b05fa08dd684812b2a53e4b614b78c41d60fb90ef1db41446df23a30b04b02a

Contents?: true

Size: 539 Bytes

Versions: 15

Compression:

Stored size: 539 Bytes

Contents

class Rack::PageSpeed::Filters::InlineImages < Rack::PageSpeed::Filter
  priority 8
  
  def execute! document
    nodes = document.css('img')
    return false unless nodes.count > 0
    nodes.each do |node|
      file = file_for node
      next if !file or file.stat.size > (@options[:max_size] or 1024)
      img = node.clone
      img['src'] = "data:#{Rack::Mime.mime_type(File.extname(file.path))};base64,#{[file.read].pack('m')}"
      img['alt'] = node['alt'] if node['alt']
      node.before img
      node.remove
    end
  end
end

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
rack-pagespeed-fork-0.1.0 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.1.2 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.1.1 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.1.0 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.0.9 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.0.8 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.0.7 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.0.6 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.0.5 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.0.4 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.0.3 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.0.2 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.0.1 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-1.0.0 lib/rack/pagespeed/filters/inline_images.rb
rack-pagespeed-0.2.0 lib/rack/pagespeed/filters/inline_images.rb