# 这里做了一个 copy 而不是直接重命名;你可以用 FileUtils.mv 直接重命名
on_sprite_saved do |filename|
if File.exists?(filename)
FileUtils.cp filename, filename.gsub(%r{-s[a-z0-9]{10}\.png$}, '.png')
end
end
# 除此之外,样式表里自动生成的声明也要修改一下
on_stylesheet_saved do |filename|
if File.exists?(filename)
css = File.read filename
File.open(filename, 'w+') do |buffer|
buffer << css.gsub(%r{-s[a-z0-9]{10}\.png}, '.png')
end
end
end
发布评论
评论(1)
很久没有用 Compass 了,不知道
asset_cache_buster :none
这个选项设置现在是否能阻止 hash string 的生成。以前是不行的,但是有人提交了 issue,这么久过去应该可以了吧?若是还不行也没关系,幸运的是 Compass 提供了一个 callback:
on_sprite_saved
,因此我们可以利用它修改生成的文件名,比如这样:在我的例子中,我是用的
FileUtils.cp
而不是FileUtils.mv
,因此在你$ compass compile
之前,需要来一次$ compass clean
把原本清除掉。