What is this?
This python script reads a list of unused CSS selectors as generated by the "Dust-me Selectors" extension of mozilla firefox:
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?
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.
Make sure you have the dependencies you need installed. On a Debian / GNU linux system, you can use:
$ apt-get install python-cssutils
Run the cleaner:
$ ./tidy.py /path/to/csvfile.csv
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.