1# colors.js 2[![Build Status](https://travis-ci.org/Marak/colors.js.svg?branch=master)](https://travis-ci.org/Marak/colors.js) 3[![version](https://img.shields.io/npm/v/colors.svg)](https://www.npmjs.org/package/colors) 4[![dependencies](https://david-dm.org/Marak/colors.js.svg)](https://david-dm.org/Marak/colors.js) 5[![devDependencies](https://david-dm.org/Marak/colors.js/dev-status.svg)](https://david-dm.org/Marak/colors.js#info=devDependencies) 6 7Please check out the [roadmap](ROADMAP.md) for upcoming features and releases. Please open Issues to provide feedback, and check the `develop` branch for the latest bleeding-edge updates. 8 9## get color and style in your node.js console 10 11![Demo](https://raw.githubusercontent.com/Marak/colors.js/master/screenshots/colors.png) 12 13## Installation 14 15 npm install colors 16 17## colors and styles! 18 19### text colors 20 21 - black 22 - red 23 - green 24 - yellow 25 - blue 26 - magenta 27 - cyan 28 - white 29 - gray 30 - grey 31 32### background colors 33 34 - bgBlack 35 - bgRed 36 - bgGreen 37 - bgYellow 38 - bgBlue 39 - bgMagenta 40 - bgCyan 41 - bgWhite 42 43### styles 44 45 - reset 46 - bold 47 - dim 48 - italic 49 - underline 50 - inverse 51 - hidden 52 - strikethrough 53 54### extras 55 56 - rainbow 57 - zebra 58 - america 59 - trap 60 - random 61 62 63## Usage 64 65By popular demand, `colors` now ships with two types of usages! 66 67The super nifty way 68 69```js 70var colors = require('colors'); 71 72console.log('hello'.green); // outputs green text 73console.log('i like cake and pies'.underline.red) // outputs red underlined text 74console.log('inverse the color'.inverse); // inverses the color 75console.log('OMG Rainbows!'.rainbow); // rainbow 76console.log('Run the trap'.trap); // Drops the bass 77 78``` 79 80or a slightly less nifty way which doesn't extend `String.prototype` 81 82```js 83var colors = require('colors/safe'); 84 85console.log(colors.green('hello')); // outputs green text 86console.log(colors.red.underline('i like cake and pies')) // outputs red underlined text 87console.log(colors.inverse('inverse the color')); // inverses the color 88console.log(colors.rainbow('OMG Rainbows!')); // rainbow 89console.log(colors.trap('Run the trap')); // Drops the bass 90 91``` 92 93I prefer the first way. Some people seem to be afraid of extending `String.prototype` and prefer the second way. 94 95If you are writing good code you will never have an issue with the first approach. If you really don't want to touch `String.prototype`, the second usage will not touch `String` native object. 96 97## Disabling Colors 98 99To disable colors you can pass the following arguments in the command line to your application: 100 101```bash 102node myapp.js --no-color 103``` 104 105## Console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data) 106 107```js 108var name = 'Marak'; 109console.log(colors.green('Hello %s'), name); 110// outputs -> 'Hello Marak' 111``` 112 113## Custom themes 114 115### Using standard API 116 117```js 118 119var colors = require('colors'); 120 121colors.setTheme({ 122 silly: 'rainbow', 123 input: 'grey', 124 verbose: 'cyan', 125 prompt: 'grey', 126 info: 'green', 127 data: 'grey', 128 help: 'cyan', 129 warn: 'yellow', 130 debug: 'blue', 131 error: 'red' 132}); 133 134// outputs red text 135console.log("this is an error".error); 136 137// outputs yellow text 138console.log("this is a warning".warn); 139``` 140 141### Using string safe API 142 143```js 144var colors = require('colors/safe'); 145 146// set single property 147var error = colors.red; 148error('this is red'); 149 150// set theme 151colors.setTheme({ 152 silly: 'rainbow', 153 input: 'grey', 154 verbose: 'cyan', 155 prompt: 'grey', 156 info: 'green', 157 data: 'grey', 158 help: 'cyan', 159 warn: 'yellow', 160 debug: 'blue', 161 error: 'red' 162}); 163 164// outputs red text 165console.log(colors.error("this is an error")); 166 167// outputs yellow text 168console.log(colors.warn("this is a warning")); 169 170``` 171 172### Combining Colors 173 174```javascript 175var colors = require('colors'); 176 177colors.setTheme({ 178 custom: ['red', 'underline'] 179}); 180 181console.log('test'.custom); 182``` 183 184*Protip: There is a secret undocumented style in `colors`. If you find the style you can summon him.* 185