class RhetButler::Stasis::CSSTransform
Public Instance Methods
parse_document()
click to toggle source
# File lib/rhet-butler/stasis/css-transform.rb, line 8 def parse_document @parsed = Crass::parse(document.body) end
render_document()
click to toggle source
# File lib/rhet-butler/stasis/css-transform.rb, line 51 def render_document Crass::Parser.stringify(@parsed) end
translate_links()
click to toggle source
# File lib/rhet-butler/stasis/css-transform.rb, line 42 def translate_links url_nodes(@parsed).uniq.each do |node| node[:value] = get_link_translation(node[:value]).to_s if node[:node] == :url node[:raw] = "url(#{node[:value]})" end end end
url_nodes(node_list)
click to toggle source
# File lib/rhet-butler/stasis/css-transform.rb, line 12 def url_nodes(node_list) return [] if node_list.nil? list = [] node_list.each do |node| case node[:node] when :url list << node when :at_rule if node[:name] == "import" list += node[:prelude].find_all do |node| node[:node] == :url or node[:node] == :string end else children = node [:block, :value].each do |key| children = children[key] break if children.nil? break if children.is_a? Array end list += url_nodes(children) end else list += url_nodes(node[:children]) end end return list end