Sha256: 316b6691e02c2504fd663192cdb9e66c4674b7f32a4480ed9568e25c7d4dc284
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
module CSS module Model def self.apply_to(doc, options = {}) doc.decorators(Nokogiri::XML::Element) << ::CSS::Element doc.decorate! doc.extend(::CSS::Model) doc.css_path options[:css_path] if options[:css_path] doc.apply_css!(options) doc end attr_writer :css_path def css_path(path = nil) return @css_path if !path @css_path = path self end def apply_css!(options = {}) cp = CssParserMaster::Parser.new self.xpath('//link[@rel = "stylesheet"]').each do |stylesheet| file_name = css_path + stylesheet['href'] puts "load stylesheet: #{file_name}" if options[:verbose] cp.load_file!(file_name) end cp.each_selector do |sel| self.css(sel.selector).each do |elem| elem.add_rule! sel.to_text end end self.css('*').each do |elem| elem.merge_declarations! elem.merge_style! end self end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
html_css_decorator-0.1.2 | lib/css_model.rb |