GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - hardithomas/csscss: A CSS redundancy analyzer that analyzes redundancy.

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

114 Commits
114 Commits

Folders and files

NameName
Last commit message
Last commit date
bin
bin
 
 
lib
lib
 
 
test
test
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
CHANGELOG.md
CHANGELOG.md
 
 
Gemfile
Gemfile
 
 
Gemfile.lock
Gemfile.lock
 
 
LICENSE.txt
LICENSE.txt
 
 
README.md
README.md
 
 
Rakefile
Rakefile
 
 
csscss.gemspec
csscss.gemspec
 
 

Repository files navigation

Build Status Code Climate

What is it?

csscss will parse any CSS files you give it and let you know which rulesets have duplicated declarations.

What is it for?

One of the best strategies for me to maintain CSS is to reduce duplication as much as possible. It's not a silver bullet, but it sure helps.

To do that, you need to have all the rulesets in your head at all times. That's hard, csscss is easy. Let it tell you what is redundant.

How do I use it?

First you need to install it. It is currently packaged as a ruby gem:

$ gem install csscss

Note: csscss only works on ruby 1.9.x and up. It will have trouble with ruby 1.8.x.

Then you can run it in at the command line against CSS files.

$ csscss path/to/styles.css path/to/other-styles.css

{.contact .content .primary} and {article, #comments} share 5 rules
{.profile-picture}, {.screenshot img} and {a.blurb img} share 4 rules
{.work h2:first-child, .archive h2:first-child, .missing h2:first-child, .about h2, .contact h2} and {body.home h2} share 4 rules
{article.blurb:hover} and {article:hover} share 3 rules

Run it in a verbose mode to see all the duplicated styles.

$ csscss -v path/to/styles.css

Run it against remote files by passing a valid URL.

$ csscss -v http://example.com/css/main.css

You can also choose a minimum number of matches, which will ignore any rulesets that have fewer matches.

$ csscss -n 10 -v path/to/style.css # ignores rulesets with < 10 matches

If you prefer writing in sass, you can also parse your sass/scss files.

$ gem install sass
$ csscss path/to/style.scss

I found bugs

This is still a new and evolving project. I heartily welcome feedback. If you find any issues, please report them on github.

Please include the smallest CSS snippet to describe the issue and the output you expect to see.

Who are you?

My name is Zach Moazeni. I work for an awesome company. And we're hiring!

I'm a dev, I can help

Awesome! Thanks! Here are the steps I ask:

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Make sure the tests pass (bundle exec rake test)
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

About

A CSS redundancy analyzer that analyzes redundancy.

zmoazeni.github.io/csscss/

Resources

Readme
MIT license
Activity

Stars

0 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.