require "open-uri" require "kconv" require "CGI" require "rubygems" require "erubis" wikiurl = "http://ja.opera-wiki.com/opera-config" + CGI.escape("設定項目一覧") # wikiurl = "test.html" wiki_html = open(wikiurl) {|f| f.read.toutf8} Dir::foreach("html") {|f| next if f == "." || f == ".." || File.directory?(f) version = File.basename(f, ".html") config_html = open("html/" + f) {|r| r.read.toutf8} css = [] cfgreg = %r@.*?@m config_html.gsub(cfgreg) do id = $1 href = $2.sub(/\|/, "\\|") wikireg = Regexp.new('href="opera:config' + href + '[\s\S]*?(.*?)\s*', "m") desc = (wiki_html[wikireg, 1] || "").gsub(/<[^>]*?>/, "") css << "th>label[for='#{id}']::after{white-space:pre-wrap;content:'\\a #{desc}';}" end erbs = Erubis::Eruby.new(File.read("occss.erb")) csstext = erbs.result(:text => css.join("\n"), :version => version); open(version + ".css", "w"){|f| f.puts(csstext.toutf8)} }