Package Exports
- clean-css
- clean-css/bin/cleancss
- clean-css/lib/clean
- clean-css/package.json
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (clean-css) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
What is clean-css?
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 node.js' V8 engine.
Usage
What are the requirements?
node.js 0.6.0+ on UN*X (fully tested on OS X 10.6+ and CentOS)
node.js 0.8.0+ on WindowsHow to install clean-css?
npm install clean-cssHow to use clean-css CLI?
Clean-css accepts the following command line arguments (please make sure
you use <source-file> as the very last argument to avoid potential issues):
cleancss [options] <source-file>
-h, --help Output usage information
-v, --version Output the version number
-e, --remove-empty Remove empty declarations (e.g. a{})
-b, --keep-line-breaks Keep line breaks
--s0 Remove all special comments (i.e. /*! special comment */)
--s1 Remove all special comments but the first one
-r, --root [root-path] Set a root path to which resolve absolute @import rules
-o, --output [output-file] Use [output-file] as output instead of STDOUTExamples:
To minify a public.css file into public-min.css do:
cleancss -o public-min.css public.cssTo minify the same public.css into the standard output skip the -o parameter:
cleancss public.cssMore likely you would like to concatenate a couple of files. If you are on a Unix-like system:
cat one.css two.css three.css | cleancss -o merged-and-minified.cssOn Windows:
type one.css two.css three.css | cleancss -o merged-and-minified.cssOr even gzip the result at once:
cat one.css two.css three.css | cleancss | gzip -9 -c > merged-minified-and-gzipped.css.gzHow to use clean-css programmatically?
var cleanCSS = require('clean-css');
var source = "a{font-weight:bold;}";
var minimized = cleanCSS.process(source);Process method accepts a hash as a second parameter, i.e.,
cleanCSS.process(source, options) with the following options available:
keepSpecialComments-*for keeping all (default),1for keeping first one,0for removing allkeepBreaks- whether to keep line breaks (default is false)removeEmpty- whether to remove empty elements (default is false)debug- turns on debug mode measuring time spent on cleaning up (runnpm run benchto see example)root- path with which to resolve absolute@importrulesrelativeTo- path with which to resolve relative@importrules
What are the clean-css' dev commands?
First clone the source, then run:
npm run benchfor clean-css benchmarks (see test/bench.js for details)npm run checkto check JS sources with JSHintnpm testfor the test suite
How do you preserve a comment block?
Use the /*! notation instead of the standard one /*:
/*!
Important comments included in minified output.
*/Acknowledgments
- 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.js's old 'sys' package.
- @XhmikosR for suggesting new features (option to remove special comments and strip out URLs quotation) and pointing out numerous improvements (JSHint, media queries).
License
Clean-css is released under the MIT License.


