My favorites | Sign in
Project Logo
             
Code license: MIT License
Labels: ruby, css, parser, gem
Show all Featured downloads:
css_parser-0.9.0.gem
People details
Project owners:
  alexdunae

Load, parse and cascade CSS rule sets in Ruby.

Setup

Install the gem from Ruby Forge.

   gem install css_parser

Done.

An example

  require 'css_parser'
  include CssParser

  parser = CssParser::Parser.new
  parser.load_file!('http://example.com/styles/style.css')

  # lookup a rule by a selector
  parser.find('#content')
  #=> 'font-size: 13px; line-height: 1.2;'

  # lookup a rule by a selector and media type
  parser.find('#content', [:screen, :handheld])

  # iterate through selectors by media type
  parser.each_selector(:screen) do |selector, declarations, specificity|
    ...
  end

  # add a block of CSS
  css = <<-EOT
    body { margin: 0 1em; }
  EOT

  parser.add_block!(css)

  # output all CSS rules in a single stylesheet
  parser.to_s
  => #content { font-size: 13px; line-height: 1.2; }
     body { margin: 0 1em; }

Testing

You can run the suite of unit tests using rake test.

The download/import tests require that WEBrick is installed. The tests set up a temporary server on port 12000 and pull down files from the test/fixtures/ directory.

Credits and code

By Alex Dunae (dunae.ca, e-mail code at dunae dot ca), 2007-08.

Made on Vancouver Island.









Hosted by Google Code