2007-11-03 @ 11:30
CSSPool released
I just released csspool version 0.1.0 last night, so I thought I’d write a little about it.
CSSPool is a CSS SAC parser. Basically it parses a CSS document calling methods on a document handler object. The parser will send the document handler lots of information about the CSS, like the selectors and properties. The selectors you get are ASTs, and implement .to_css methods so you can get back css.
Here is a quick example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
require 'css/sac/parser' class SimpleDocHandler < CSS::SAC::DocumentHandler def start_selector(selectors) p selectors.map { |sel| sel.to_css }.join(', ') end def property(name, value, important) puts "#{name}: #{value} #{important ? '!important' : ''}".strip end end csspool = CSS::SAC::Parser.new(SimpleDocHandler.new) csspool.parse(File.read(ARGV[0])) |