A cored, fixed, documented and optimized version of the popular `colors.js`: Get colors in your node.js console like what...
JavaScript
Latest commit 66a2f04 May 3, 2013 Daniel Wirtz Cleanup
Permalink
Failed to load latest commit information.
examples Initial commit May 2, 2013
externs Cleanup May 2, 2013
tests Initial commit May 2, 2013
.gitignore Initial commit May 2, 2013
LICENSE Initial commit May 2, 2013
README.md Cleanup May 3, 2013
colour.js Cleanup May 3, 2013
colour.min.js Cleanup May 3, 2013
colour.png Initial commit May 2, 2013
package.json Cleanup May 3, 2013

README.md

colour.js - ANSI terminal colors

A cored, fixed, documented and optimized version of the popular colors.js. Can be used as a drop-in replacement, also works correctly in the browser, provides a CSS mode and has been compiled through Closure Compiler using advanced optimizations. Additionally, nearly every issue and pull request on the original has been incorporated.

Installation

npm install colour

Usage

This package extends the global String prototype with additional getters that apply terminal colors to your texts. Available styles are:

  • Emphasis: bold, italic, underline, inverse
  • Colors: yellow, cyan, white, magenta, green, red, grey, blue
  • Sequencers: rainbow, zebra, random

Example

var colour = require('colour');
console.log('hello'.green); // outputs green text
console.log('i like cake and pies'.underline.red) // outputs red underlined text
console.log('inverse the color'.inverse); // inverses the color
console.log('OMG Rainbows!'.rainbow); // rainbow (ignores spaces)

Or: As a drop-in replacement for colors

var /* just name it */ colors = require('colour');
...

Custom themes

Its also possible to define your own themes by creating new getters on the String object. Example:

var colour = require('colour');
colour.setTheme({
  silly: 'rainbow',
  input: 'grey',
  verbose: 'cyan',
  prompt: 'grey',
  info: 'green',
  data: 'grey',
  help: 'cyan',
  warn: ['yellow', 'underline'], // Applies two styles at once
  debug: 'blue',
  error: 'red bold' // Again, two styles
});

console.log("this is an error".error); // outputs bold red text
console.log("this is a warning".warn); // outputs underlined yellow text

console.log(colour.green("this is green")); // Alternatively

Console, browser and browser-css mode

var colour = require('colour');
...
colour.mode = 'none'; // No colors at all
colour.mode = 'console'; // Adds terminal colors (default on node.js)
colour.mode = 'browser'; // Adds HTML colors (default in browsers)
colour.mode = 'browser-css'; // Adds special CSS (see examples/example.css)

Uninstalling / reinstalling on the global scope

If you have a reason to use a fresh String prototype in your application, you may also revert all extensions made.

var colour = require('colour');
...
colour.uninstall(); // Removes all custom properties from the String prototype
...
colour.install(); // Re-installs them
...

More features

  • node.js/CommonJS compatible
  • RequireJS/AMD compatible
  • Browser/shim compatible
  • Closure Compiler externs included
  • Zero dependencies

Credits

Based on work started by Marak (Marak Squires), cloudhead (Alexis Sellier), mmalecki (Maciej Małecki), nicoreed (Nico Reed), morganrallen (Morgan Allen), JustinCampbell (Justin Campbell) and ded (Dustin Diaz).

License

The MIT-License (MIT)