Skip to content

Instantly share code, notes, and snippets.

@rdsaunders
Created January 19, 2015 12:34
Show Gist options
  • Save rdsaunders/81d1b0f7be6fbaa10639 to your computer and use it in GitHub Desktop.
Save rdsaunders/81d1b0f7be6fbaa10639 to your computer and use it in GitHub Desktop.
Remove the hash string in the sprite filename and replace with a query string
# Make a copy of sprites with a name that has no uniqueness of the hash.
on_sprite_saved do |filename|
if File.exists?(filename)
FileUtils.cp filename, filename.gsub(%r{-s[a-z0-9]{10}\.png$}, '.png')
# Note: Compass outputs both with and without random hash images.
# To not keep the one with hash, add: (Thanks to RaphaelDDL for this)
FileUtils.rm_rf(filename)
end
end
# Replace in stylesheets generated references to sprites
# by their counterparts without the hash uniqueness.
on_stylesheet_saved do |filename|
if File.exists?(filename)
css = File.read filename
File.open(filename, 'w+') do |f|
f << css.gsub(%r{(?<start>-s)(?<hash>[a-z0-9]{10})(?<file>\.png)}, '.png?v=\k<hash>')
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment