
Developed at Twitter to support our internal styleguide, RECESS is a simple, attractive code quality tool for CSS built on top of LESS.
Incorporate it into your development process as a linter, or integrate it directly into your build system as a compiler, RECESS will keep your source looking clean and super managable.
$ recess [path] [options]
.js- prefixed classnamesdiv#foo.bar)* selectorLint all css files
$ recess *.css
Lint file, ignore styling of IDs
$ recess ./bootstrap.css --noIds false
Compile and compress .less file, then output it to a new file
$ recess ./bootstrap.less --compress > ./bootstrap-production.css
Recess provides a pretty simple programmatic api.
var recess = require('recess')
Once you've required recess, just pass it a path (or array of paths) and an optional options object and an optional callback:
recess(['../fat.css', '../twitter.css'], { compile: true }, callback)
The following options (and defaults) are available in the programatic api:
The callback is fired when each instance has finished processessing an input. The callback is passed an array of of instances (one for each path). The instances have a bunch of useful things on them like the raw data and an array of output strings.
When compiling, access the compiled source through the output property:
var recess = require('recess')
recess('./js/fat.css', { compile: true }, function (err, obj) {
if (err) throw err
console.log(
obj // recess instance for fat.css
, obj.output // array of loggable content
, obj.errors // array of failed lint rules
)
})
To install recess you need both node and npm installed.
$ npm install recess -g
Copyright 2012 Twitter, Inc.
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0