Clean-css is a node.js library for minifying CSS files. It does the same job as YUI Compressor's CSS minifier but much faster thanks to many speed optimizations and the node.js itself.
node 0.6.0+ on *nix (fully tested on OS X 10.6+ and CentOS)
node 0.8.0+ on Windows
npm install clean-css
You can minify one file public.css into public-min.css via:
cleancss -o public-min.css public.css
To minify the same public.css into standard output skip the -o parameter:
cleancss public.css
Or more likely you would like to do something like this (if you are on *nix system):
cat one.css two.css three.css | cleancss -o merged-and-minified.css
Or even gzip it at once:
cat one.css two.css three.css | cleancss | gzip -9 -c > merged-minified-and-gzipped.css.gz
var cleanCSS = require('clean-css');
var source = "a{font-weight:bold;}";
var minimized = cleanCSS.process(source);
/*!
Important comments included in minified output.
*/
You need vows testing framework (npm install vows) then simply run:
make test
on *nix systems. If you are under Windows then run:
./test.bat
- Vincent Voyer (@vvo) for a patch with better empty element regex and for inspiring us to do many performance improvements in 0.4 release.
- Isaac (@facelessuser) for pointing out a flaw in clean-css' stateless mode.
- Jan Michael Alonzo (@jmalonzo) for a patch removing node's old 'sys' package.
Clean-css is released under the MIT license.