A summary of data about the Ruby ecosystem.

https://github.com/premailer/css_parser

Ruby CSS Parser
https://github.com/premailer/css_parser

Keywords

css-parser ruby

Keywords from Contributors

activerecord mvc activejob crash-reporting nokogiri rack premailer mail inline rubygems

Last synced: about 11 hours ago
JSON representation

Repository metadata

Ruby CSS Parser

README.md

Ruby CSS Parser Build Status Gem Version

Load, parse and cascade CSS rule sets in Ruby.

Setup

gem install css_parser

Usage

require 'css_parser'
include CssParser

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

parser = CssParser::Parser.new
parser.load_uri!('file://home/user/styles/style.css')

# load a remote file, setting the base_uri and media_types
parser.load_uri!('../style.css', {base_uri: 'http://example.com/styles/inc/', media_types: [:screen, :handheld]})

# load a local file, setting the base_dir and media_types
parser.load_file!('print.css', '~/styles/', :print)

# load a string
parser = CssParser::Parser.new
parser.load_string! 'a { color: hotpink; }'

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

# lookup a rule by a selector and media type
parser.find_by_selector('#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; }

# capturing byte offsets within a file
parser.load_uri!('../style.css', {base_uri: 'http://example.com/styles/inc/', capture_offsets: true)
content_rule = parser.find_rule_sets(['#content']).first
content_rule.filename
#=> 'http://example.com/styles/styles.css'
content_rule.offset
#=> 10703..10752

# capturing byte offsets within a string
parser.load_string!('a { color: hotpink; }', {filename: 'index.html', capture_offsets: true)
content_rule = parser.find_rule_sets(['a']).first
content_rule.filename
#=> 'index.html'
content_rule.offset
#=> 0..21

Testing

bundle
bundle exec rake

Runs on Ruby 3.0/JRuby 9.4 or above.

Credits

By Alex Dunae (dunae.ca, e-mail 'code' at the same domain), 2007-11.

License: MIT

Thanks to all the wonderful contributors for their updates.

Made on Vancouver Island.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 398
Total Committers: 73
Avg Commits per committer: 5.452
Development Distribution Score (DDS): 0.791

Commits in past year: 15
Committers in past year: 4
Avg Commits per committer in past year: 3.75
Development Distribution Score (DDS) in past year: 0.4

Name Email Commits
Alex Dunae a****x@d****a 83
Michael Grosser m****l@g****t 72
Akzhan Abdulin a****n@g****m 54
Geremia Taglialatela t****v@g****m 15
ojab o****b@o****u 15
Alex Dunae a****x@d****x@d****a 13
Godwin g****n@h****m 12
Tyler Cunnion t****n@g****m 9
Nick Plante n****p@z****g 7
Morten Primdahl m****n@z****m 6
Steven Daniels s****8@g****m 6
Simon s****o@t****o 5
martent m****n@t****e 4
Mark Edmondson m****n@g****m 4
George 3****a 4
Dorian Marié d****n@d****r 4
ju1ius j****e@l****t 3
Tres Wong-Godfrey t****s@c****o 3
Jonathan Leitschuh J****h@b****m 3
Julien Kirch c****e@a****t 3
Leonid Shevtsov l****d@s****e 3
Matt Sanford m****t@m****m 3
Paul Sokolik s****k@s****m 2
Matthew Hicks m****m@g****m 2
Kieran k****r@k****o 2
Jonathan del Strother me@d****m 2
Johnny Shields j****s@g****m 2
Jason m****l@j****k 2
J Smith d****a@g****m 2
Anton Rieder 1****r 2
and 43 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 6 days ago

Total issues: 44
Total pull requests: 120
Average time to close issues: 9 months
Average time to close pull requests: 4 months
Total issue authors: 38
Total pull request authors: 62
Average comments per issue: 2.61
Average comments per pull request: 1.59
Merged pull request: 93
Bot issues: 0
Bot pull requests: 0

Past year issues: 4
Past year pull requests: 4
Past year average time to close issues: about 15 hours
Past year average time to close pull requests: 3 days
Past year issue authors: 3
Past year pull request authors: 4
Past year average comments per issue: 3.5
Past year average comments per pull request: 1.25
Past year merged pull request: 2
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/premailer/css_parser

Top Issue Authors

  • stoivo (3)
  • ojab (2)
  • sarken (2)
  • twe4ked (2)
  • tagliala (2)
  • aried3r (1)
  • jonhyman (1)
  • jdelStrother (1)
  • joevandyk (1)
  • marocas (1)
  • Mange (1)
  • mrueg (1)
  • getaaron (1)
  • devend711 (1)
  • jpbarbosa (1)

Top Pull Request Authors

  • tagliala (17)
  • stoivo (15)
  • ojab (8)
  • grosser (7)
  • leonid-shevtsov (6)
  • markedmondson (3)
  • mogest (2)
  • reud (2)
  • scouttyg (2)
  • george-gca (2)
  • jdelStrother (2)
  • davidwessman (2)
  • timcraft (2)
  • aried3r (2)
  • devend711 (1)

Top Issue Labels

Top Pull Request Labels


Package metadata

gem.coop: css_parser

A set of classes for parsing CSS in Ruby.

rubygems.org: css_parser

A set of classes for parsing CSS in Ruby.

proxy.golang.org: github.com/premailer/css_parser

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/premailer/css_parser#section-documentation
  • Licenses: other
  • Latest release: v3.0.0+incompatible (published 3 months ago)
  • Last Synced: 2026-07-07T04:21:59.430Z (about 1 month ago)
  • Versions: 44
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Forks count: 2.498%
    • Stargazers count: 3.275%
    • Average: 6.538%
    • Dependent packages count: 9.576%
    • Dependent repos count: 10.802%
ubuntu-20.04: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Licenses: other
  • Latest release: 1.6.0-1 (published 6 months ago)
  • Last Synced: 2026-03-13T13:25:14.731Z (5 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-10: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Documentation: https://packages.debian.org/buster/ruby-css-parser
  • Licenses:
  • Latest release: 1.6.0-1 (published 6 months ago)
  • Last Synced: 2026-03-13T16:07:52.883Z (5 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-23.10: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Licenses:
  • Latest release: 1.6.0-2 (published 6 months ago)
  • Last Synced: 2026-03-14T02:17:02.016Z (5 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-23.04: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Licenses:
  • Latest release: 1.6.0-2 (published 6 months ago)
  • Last Synced: 2026-03-12T01:19:02.724Z (5 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-24.10: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Licenses:
  • Latest release: 1.16.0-1 (published 6 months ago)
  • Last Synced: 2026-03-09T17:04:05.769Z (5 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-11: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Documentation: https://packages.debian.org/bullseye/ruby-css-parser
  • Licenses:
  • Latest release: 1.6.0-1 (published 6 months ago)
  • Last Synced: 2026-03-14T06:21:52.754Z (5 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
guix: ruby-css-parser

Ruby Cascading Style Sheets (CSS) parser

  • Homepage: https://github.com/premailer/css_parser
  • Documentation: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-xyz.scm#n1403
  • Licenses: expat
  • Latest release: 1.21.1 (published 6 months ago)
  • Last Synced: 2026-04-27T16:18:59.347Z (4 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-13: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Documentation: https://packages.debian.org/trixie/ruby-css-parser
  • Licenses:
  • Latest release: 1.19.0-1 (published 6 months ago)
  • Last Synced: 2026-03-14T18:07:04.911Z (5 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
gentoo-portage: dev-ruby/css_parser

A set of classes for parsing CSS in Ruby

  • Homepage: https://github.com/premailer/css_parser/
  • Documentation: https://packages.gentoo.org/packages/dev-ruby/css_parser
  • Licenses: MIT
  • Latest release: 1.21.1 (published 4 months ago)
  • Last Synced: 2026-05-27T02:44:30.222Z (3 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
pkgsrc-netbsd-x86_64-10.1-all: www/ruby-css-parser

Ruby CSS parser

  • Homepage: https://github.com/premailer/css_parser
  • Documentation: https://pkgsrc.se/www/ruby-css-parser
  • Licenses: mit
  • Latest release: 1.21.1 (published 4 months ago)
  • Last Synced: 2026-05-27T10:51:38.916Z (3 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-22.04: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Licenses:
  • Latest release: 1.6.0-2 (published 6 months ago)
  • Last Synced: 2026-03-13T22:41:25.167Z (5 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-12: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Documentation: https://packages.debian.org/bookworm/ruby-css-parser
  • Licenses:
  • Latest release: 1.6.0-2 (published 6 months ago)
  • Last Synced: 2026-03-13T03:28:40.663Z (5 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-24.04: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Licenses:
  • Latest release: 1.16.0-1 (published 6 months ago)
  • Last Synced: 2026-03-13T04:14:22.385Z (5 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%

Dependencies

Gemfile.lock rubygems
  • addressable 2.8.0
  • ast 2.4.1
  • benchmark-ips 2.8.4
  • bump 0.10.0
  • css_parser 1.11.0
  • maxitest 3.6.0
  • memory_profiler 1.0.0
  • minitest 5.12.0
  • parallel 1.20.1
  • parser 3.0.0.0
  • public_suffix 4.0.6
  • rainbow 3.0.0
  • rake 13.0.3
  • regexp_parser 2.0.3
  • rexml 3.2.4
  • rubocop 1.8.0
  • rubocop-ast 1.4.0
  • rubocop-rake 0.5.1
  • ruby-progressbar 1.11.0
  • unicode-display_width 2.0.0
  • webrick 1.7.0
css_parser.gemspec rubygems
  • benchmark-ips >= 0 development
  • bump >= 0 development
  • maxitest >= 0 development
  • memory_profiler >= 0 development
  • rake >= 0 development
  • rubocop ~> 1.8 development
  • rubocop-rake >= 0 development
  • webrick >= 0 development
  • addressable >= 0
.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • ruby/setup-ruby v1 composite
Gemfile rubygems

Score: 31.21889854992405