Giter Club home page Giter Club logo

clean-css's Introduction

build status

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 the node.js' V8 engine.

Usage

What are the requirements?

node 0.6.0+ on *nix (fully tested on OS X 10.6+ and CentOS)
node 0.8.0+ on Windows

How to install clean-css?

npm install clean-css

How to use clean-css?

To minify a public.css file into public-min.css do:

cleancss -o public-min.css public.css

To minify the same public.css into the standard output skip the -o parameter:

cleancss public.css

More likely you would like to concatenate couple files like this (if you are on *nix system):

cat one.css two.css three.css | cleancss -o merged-and-minified.css

Or even gzip the result at once:

cat one.css two.css three.css | cleancss | gzip -9 -c > merged-minified-and-gzipped.css.gz

How to use clean-css programatically?

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, 1 for keeping first one, 0 for removing all (default is *)
  • keepBreaks - 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 - run make bench to see example)

How do you preserve a comment block?

Use /*! notation instead of standard one (i.e. /*):

/*!
  Important comments included in minified output.
*/

How to run clean-css tests?

First clone the source, then run:

npm test

on *nix systems. If you are under Windows then run:

./test.bat

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's old 'sys' package.
  • @XhmikosR for suggesting new features (option to remove special comments and strip out url's parentheses) and pointing out numerous improvement (JSHint, media queries).

License

Clean-css is released under the MIT License.

clean-css's People

Contributors

jakubpawlowicz avatar xhmikosr avatar jmalonzo avatar

Watchers

Steve Webster avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.