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

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

Last synced: about 13 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: about 16 hours ago

Total Commits: 389
Total Committers: 71
Avg Commits per committer: 5.479
Development Distribution Score (DDS): 0.787

Commits in past year: 9
Committers in past year: 4
Avg Commits per committer in past year: 2.25
Development Distribution Score (DDS) in past year: 0.444

Name Email Commits
Alex Dunae a****x@d****a 83
Michael Grosser m****l@g****t 67
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: 5 days ago

Total issues: 42
Total pull requests: 117
Average time to close issues: 10 months
Average time to close pull requests: 4 months
Total issue authors: 36
Total pull request authors: 60
Average comments per issue: 2.45
Average comments per pull request: 1.59
Merged pull request: 91
Bot issues: 0
Bot pull requests: 0

Past year issues: 2
Past year pull requests: 5
Past year average time to close issues: N/A
Past year average time to close pull requests: 2 days
Past year issue authors: 1
Past year pull request authors: 3
Past year average comments per issue: 1.0
Past year average comments per pull request: 0.2
Past year merged pull request: 4
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)
  • jonhyman (1)
  • jdelStrother (1)
  • joevandyk (1)
  • marocas (1)
  • Mange (1)
  • mrueg (1)
  • getaaron (1)
  • devend711 (1)
  • jpbarbosa (1)
  • mike-engel (1)

Top Pull Request Authors

  • tagliala (17)
  • stoivo (15)
  • ojab (8)
  • grosser (6)
  • 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.

  • Homepage: https://github.com/premailer/css_parser
  • Documentation: http://www.rubydoc.info/gems/css_parser/
  • Licenses: MIT
  • Latest release: 2.0.0 (published 8 days ago)
  • Last Synced: 2026-03-01T23:02:33.429Z (1 day ago)
  • Versions: 61
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 163,895,412 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.0.0 (published 8 days ago)
  • Last Synced: 2026-02-27T22:30:33.209Z (4 days ago)
  • Versions: 61
  • Dependent Packages: 93
  • Dependent Repositories: 8,621
  • Downloads: 163,844,053 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.0.0+incompatible (published 8 days ago)
  • Last Synced: 2026-02-28T21:01:11.416Z (3 days ago)
  • Versions: 40
  • 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%
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 20 days ago)
  • Last Synced: 2026-02-13T04:20:04.164Z (18 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-20.04: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Licenses: other
  • Latest release: 1.6.0-1 (published 18 days ago)
  • Last Synced: 2026-02-13T07:12:03.545Z (18 days 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 18 days ago)
  • Last Synced: 2026-02-13T18:17:35.445Z (18 days 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 20 days ago)
  • Last Synced: 2026-02-11T06:37:33.863Z (20 days 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 22 days ago)
  • Last Synced: 2026-02-09T16:22:51.688Z (22 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
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 20 days ago)
  • Last Synced: 2026-02-13T08:19:15.903Z (18 days 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#n1416
  • Licenses: expat
  • Latest release: 1.21.1 (published about 16 hours ago)
  • Last Synced: 2026-03-02T18:56:10.996Z (about 16 hours 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 18 days ago)
  • Last Synced: 2026-02-12T23:27:36.420Z (18 days 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 18 days ago)
  • Last Synced: 2026-02-13T01:02:08.889Z (18 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
ubuntu-22.04: ruby-css-parser

  • Homepage: https://github.com/premailer/css_parser
  • Licenses:
  • Latest release: 1.6.0-2 (published 18 days ago)
  • Last Synced: 2026-02-13T13:14:54.426Z (18 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 19 days ago)
  • Last Synced: 2026-02-13T13:14:28.046Z (18 days 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.134952847163763