2006年 08月 01日

スクリプトは簡単なままにする

やっぱ結構めんどいなぁ。ディレクトリを変数にしたい! とかだとこれでは無理だ? #{var-name} で展開にしたらいいのかな

/*
 * [key-color1] = #123456
 * [key-color2] = #234567
 */

h1 {
        background: $key-color1;
}

#footer {
        background: $key-color1;
        color: #fff;
}

#footer address {
        color: $key-color1;
        background: $key-color2;
}
#!ruby

pre = ARGF.read
vars = Hash[*pre.scan(/^\s*\*\s+\[([^\s;]+)\] = (.+$)/).flatten]
ret = pre.gsub(/\$[^\s;]+/) do |match|
        name = match.sub("$", "")
        if vars.key?(name)
                vars[name]
        else
                match
        end
end

puts ret