lib/rails-sass-images/sass/inline.rb in rails-sass-images-0.5 vs lib/rails-sass-images/sass/inline.rb in rails-sass-images-0.6

- old
+ new

@@ -1,5 +1,6 @@ +require 'cgi' require 'mime-types' module RailsSassImages::Sass # Inline asset file to CSS by data-uri. Can be used for images and fonts. # @@ -12,10 +13,17 @@ def inline(path) asset = RailsSassImages.asset(path) mime = MIME::Types.type_for(asset.to_s).first.content_type file = asset.read - file = [file].flatten.pack('m').gsub("\n", '') - Sass::Script::String.new("url('data:#{mime};base64,#{file}')") + if mime == 'image/svg+xml' + file = CGI::escape(file).gsub('+', '%20') + encoding = 'charset=utf-8' + else + file = [file].flatten.pack('m').gsub("\n", '') + encoding = 'base64' + end + + Sass::Script::String.new("url('data:#{mime};#{encoding},#{file}')") end end