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

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

Last synced: about 6 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: 391
Total Committers: 71
Avg Commits per committer: 5.507
Development Distribution Score (DDS): 0.788

Commits in past year: 8
Committers in past year: 2
Avg Commits per committer in past year: 4.0
Development Distribution Score (DDS) in past year: 0.25

Name Email Commits
Alex Dunae a****x@d****a 83
Michael Grosser m****l@g****t 69
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
Steven Daniels s****8@g****m 6
Morten Primdahl m****n@z****m 6
Simon s****o@t****o 5
Dorian Marié d****n@d****r 4
George 3****a 4
Mark Edmondson m****n@g****m 4
martent m****n@t****e 4
ju1ius j****e@l****t 3
Tres Wong-Godfrey t****s@c****o 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
Andy Beckwith a****h@z****m 2
and 41 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 3 days ago

Total issues: 43
Total pull requests: 119
Average time to close issues: 10 months
Average time to close pull requests: 4 months
Total issue authors: 37
Total pull request authors: 61
Average comments per issue: 2.51
Average comments per pull request: 1.6
Merged pull request: 92
Bot issues: 0
Bot pull requests: 0

Past year issues: 3
Past year pull requests: 3
Past year average time to close issues: about 1 hour
Past year average time to close pull requests: 4 days
Past year issue authors: 2
Past year pull request authors: 3
Past year average comments per issue: 2.33
Past year average comments per pull request: 1.33
Past year merged pull request: 1
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)
  • sampatbadhe (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)
  • reud (2)
  • mogest (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.

  • Homepage: https://github.com/premailer/css_parser
  • Documentation: http://www.rubydoc.info/gems/css_parser/
  • Licenses: MIT
  • Latest release: 2.1.0 (published 3 days ago)
  • Last Synced: 2026-04-29T05:31:19.616Z (2 days ago)
  • Versions: 62
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 168,636,710 Total
  • Docker Downloads: 591,371,141
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 0.077%
    • Downloads: 0.154%
    • Docker downloads count: 0.155%
  • Maintainers (4)
rubygems.org: css_parser

A set of classes for parsing CSS in Ruby.

  • Homepage: https://github.com/premailer/css_parser
  • Documentation: http://www.rubydoc.info/gems/css_parser/
  • Licenses: MIT
  • Latest release: 2.1.0 (published 3 days ago)
  • Last Synced: 2026-04-28T00:18:54.206Z (3 days ago)
  • Versions: 62
  • Dependent Packages: 93
  • Dependent Repositories: 8,621
  • Downloads: 168,515,230 Total
  • Docker Downloads: 591,371,141
  • Rankings:
    • Downloads: 0.158%
    • Docker downloads count: 0.204%
    • Dependent packages count: 0.34%
    • Dependent repos count: 0.351%
    • Average: 1.168%
    • Forks count: 2.492%
    • Stargazers count: 3.465%
  • Maintainers (4)
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: v2.1.0+incompatible (published 3 days ago)
  • Last Synced: 2026-04-29T21:27:24.011Z (1 day ago)
  • Versions: 41
  • 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 3 months ago)
  • Last Synced: 2026-03-13T13:25:14.731Z (about 2 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 3 months ago)
  • Last Synced: 2026-03-13T16:07:52.883Z (about 2 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 3 months ago)
  • Last Synced: 2026-03-14T02:17:02.016Z (about 2 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 3 months ago)
  • Last Synced: 2026-03-12T01:19:02.724Z (about 2 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 3 months ago)
  • Last Synced: 2026-03-09T17:04:05.769Z (about 2 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 3 months ago)
  • Last Synced: 2026-03-14T06:21:52.754Z (about 2 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 about 2 months ago)
  • Last Synced: 2026-04-27T16:18:59.347Z (4 days 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 3 months ago)
  • Last Synced: 2026-03-14T18:07:04.911Z (about 2 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 3 months ago)
  • Last Synced: 2026-03-13T22:41:25.167Z (about 2 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 3 months ago)
  • Last Synced: 2026-03-13T03:28:40.663Z (about 2 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 3 months ago)
  • Last Synced: 2026-03-13T04:14:22.385Z (about 2 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.150795805795248