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.
-
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.
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.