Project

stylesheet

0.0
No commit activity in last 3 years
No release in over 3 years
A CSS parser based on the DOM API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.2
~> 1.7
>= 0
~> 2.9

Runtime

~> 0.8
~> 1.5
 Project Readme

Stylesheet

The Stylesheet gem provides a parser for CSS Stylesheets based on the DOM API

Examples

Get styles from a document:

document = Stylesheet::Document.new("http://sportspyder.com")
=> #<Document location:http://sportspyder.com/>

document.style_sheets
=> [#<Stylesheet::CssStyleSheet:0x007fa905c58c20>, 
    #<Stylesheet::CssStyleSheet:0x007fa905c5f430>, 
    #<Stylesheet::CssStyleSheet:0x007fa905c5e968>]

Get attributes of a stylesheet:

sheet = document.style_sheets[0]
=> #<Stylesheet::CssStyleSheet:0x007fa905c58c20>

sheet.href
=> "http://sportspyder.com/assets/application-26ff2c8d54ab9cd8e74af60fc650390e.css"

sheet.type
=> "text/css"

Get stylesheet media definitions:

sheet.media.map {|medium| medium }
=> ["screen"]

Get rules defined in a stylesheet:

sheet = Stylesheet::CssStyleSheet.new("http://sportspyder.com/stylesheets/screen.css")
=> #<Stylesheet::CssStyleSheet:0x007fa905c58c20>

rule = sheet.css_rules[0]
=> #<Stylesheet::CssStyleRule>

rule.css_text
=> "iframe.editor{width:580px;height:150px;border:1px solid #ccc;background-color:#fff}"

rule.selector_text
=> "iframe.editor"

Get declarations defined in a style rules:

rule.style[0]
=> "width:580px"

rule.style.border
=> "1px solid #ccc"

Installation

To install Stylesheet, add the gem to your Gemfile:

gem "stylesheet"

LICENSE

Copyright (c) 2013 Derek DeVries

Released under the MIT License