Removes unused selectors and rules from a .css file
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
indent.py
tidy.py

README.md

What is this?

This python script reads a list of unused CSS selectors as generated by the "Dust-me Selectors" extension of mozilla firefox:

https://addons.mozilla.org/en-US/firefox/addon/dust-me-selectors/

and removes all the rules and styles that are no longer necessary.

Additionally, it tries to validate the stylesheets and exports ERRORS / WARNINGS detected. Note that those ERRORS / WARNINGS are ignored by default, and generation happens regardless, unless your stylesheet is seriously unreadable.

How to use this?

  1. Install Dust-me Selector, generate list of unused selectors, and save it in a CSV file. Alternatively, you can create a list of selectors you don't want yourself. The format of the CSV file is dead simple, see below.

  2. Make sure you have the dependencies you need installed. On a Debian / GNU linux system, you can use:

    $ apt-get install python-cssutils

  3. Run the cleaner:

    $ ./tidy.py /path/to/csvfile.csv

  4. Enjoy! You should see the cleaned CSS files in your working directory.

Format of the CSV file

The CSV file should start with a line containing the URL to read the CSS from, followed by an empty line, and followed by the list of selectors that are not necessary. Example:

$ cat /tmp/example.csv
file:///tmp/test-stylesheet.css

.p
tl ul#foo


$ ./tidy /tmp/example.csv

Will cause the file /tmp/test-stylesheet.css to be parsed, and all the rules that only have .p and/or tl ul#foo as selectors to be removed. The output file will be test-stylesheet.css.