class AssetPacker::Processor::Local::Stylesheet
Public Instance Methods
call(doc)
click to toggle source
# File lib/asset_packer/processor/local.rb, line 41 def call(doc) doc.replace('link[rel=stylesheet]') do |link| link.attr(:href, save_asset(link[:href], 'css', &extract_css_links(link[:href]))) end end
extract_css_links(base_url)
click to toggle source
# File lib/asset_packer/processor/local.rb, line 47 def extract_css_links(base_url) ->(content) do content.gsub(/url\(['"]?([^\)'"]*)['"]?\)/) { uri = URI.join(full_source_uri, base_url, $1) ext = File.extname($1)[1..-1] # TODO check for media type, not URL # using regex instead of checking ext because # google font files don't work otherwise block = extract_css_links(uri) if uri.to_s =~ /css/ "url(../#{ save_asset(uri, ext, &block) })" } end end