Motomichi Works Blog

モトミチワークスブログです。その日学習したことについて書いている日記みたいなものです。

compassで生成されるスプライト画像のランダム文字列を除去する

参考にさせて頂いたページ

Sass/Compass よくあるトラブルと 解決方法・回避方法

config.rbに追記する

参考にさせて頂いたというか、「52/99ページ目」のところにあるソースコードをそのまま真似て以下の記述をした。

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 |f|
            f << css.gsub(%r{-s[a-z0-9]{10}\.png}, '.png')
        end
    end
end

 

rubyわからないんだけど、

画像が保存されたとき上のやつが実行されて、画像がコピーされる。

スタイルシートが保存されたとき、cssの中のbackgraund-imageのurlが書き換えられる。

と思う。