Sha256: 0d0db1fc6c24f92ad2de1a5e44e6bd190a65b56cd2e8912918ecbff3b97821ab
Contents?: true
Size: 1.38 KB
Versions: 3
Compression:
Stored size: 1.38 KB
Contents
require 'rhet-butler/stasis/document-transform' module RhetButler module Stasis require 'crass' class CSSTransform < DocumentTransform register "text/css" def parse_document @parsed = Crass::parse(document.body) end 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 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 def render_document Crass::Parser.stringify(@parsed) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rhet-butler-0.14.1 | lib/rhet-butler/stasis/css-transform.rb |
rhet-butler-0.14.0 | lib/rhet-butler/stasis/css-transform.rb |
rhet-butler-0.13.0 | lib/rhet-butler/stasis/css-transform.rb |