Comparing version 0.1.4 to 0.1.9
63
index.js
@@ -8,3 +8,3 @@ /*! | ||
var ansi = {} | ||
var colorz = {} | ||
var styles = { | ||
@@ -22,2 +22,4 @@ // modifiers | ||
black : [30, 39], | ||
gray : [30, 39], | ||
grey : [30, 39], | ||
red : [31, 39], | ||
@@ -32,2 +34,4 @@ green : [32, 39], | ||
brBlack : [90, 39], | ||
brGray : [90, 39], | ||
brGrey : [90, 39], | ||
brRed : [91, 39], | ||
@@ -42,2 +46,4 @@ brGreen : [92, 39], | ||
bgBlack : [40, 49], | ||
bgGray : [40, 49], | ||
bgGrey : [40, 49], | ||
bgRed : [41, 49], | ||
@@ -52,2 +58,4 @@ bgGreen : [42, 49], | ||
bbBlack : [100, 49], | ||
bbGray : [100, 49], | ||
bbGrey : [100, 49], | ||
bbRed : [101, 49], | ||
@@ -60,26 +68,51 @@ bbGreen : [102, 49], | ||
bbWhite : [107, 49] | ||
// exposure | ||
} | ||
styles.grey = styles.gray = styles.brBlack | ||
styles.brGrey = styles.brGray = styles.brBlack | ||
styles.bgGrey = styles.bgGray = styles.bgBlack | ||
styles.bbGrey = styles.bbGray = styles.bbBlack | ||
forEach(keys(styles), function (style) { | ||
var open = '\u001b[' + styles[style][0] + 'm' | ||
var clos = '\u001b[' + styles[style][1] + 'm' | ||
Object.keys(styles).forEach(function (style) { | ||
var open = ['\u001b[', styles[style][0], 'm'].join('') | ||
var clos = ['\u001b[', styles[style][1], 'm'].join('') | ||
ansi[style] = function (msg) { | ||
return [open, msg, clos].join('') | ||
colorz[style] = function (msg) { | ||
return open + msg + clos | ||
} | ||
}) | ||
ansi.strip = function (str) { | ||
function strip (str) { | ||
return str.replace(/(?:\u001b\[)\d+m/g, '') | ||
} | ||
ansi.expose = function (style) { | ||
return [style, ': ', JSON.stringify(ansi[style](' ++string++ '))].join('') | ||
function expose (style, str, noColor) { | ||
if (typeof str === 'boolean') { | ||
noColor = str | ||
str = 'Hello World' | ||
} | ||
str = str || 'Hello World' | ||
return noColor | ||
? style + ': ' + JSON.stringify(colorz[style](str)) | ||
: style + ': ' | ||
+ JSON.stringify(colorz[style](str)) | ||
.replace(/(\\u001b\[\d+m)/g, colorz[style](['$1'])) | ||
} | ||
module.exports = ansi | ||
function keys (obj) { | ||
var result = [] | ||
var key | ||
for (key in obj) { | ||
if (obj.hasOwnProperty(key)) result.push(key) | ||
} | ||
return result | ||
} | ||
function forEach (arr, fn) { | ||
var i = -1 | ||
var len = arr.length | ||
while (++i < len) if (fn(arr[i], i, arr) === false) break | ||
} | ||
module.exports = colorz | ||
module.exports.strip = strip | ||
module.exports.expose = expose |
{ | ||
"name": "colorz", | ||
"version": "0.1.4", | ||
"version": "0.1.9", | ||
"description": "Ansi escaped color styling for the console and terminal", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
138
README.md
# colorz | ||
[![NPM version][npm-image]][npm-url] | ||
[![build status][travis-image]][travis-url] | ||
[![Test coverage][coveralls-image]][coveralls-url] | ||
[![schoolmarm-standard-style][marm-image]][marm-url] | ||
[![experimental][stability-image]][stability-url] | ||
[![Downloads][downloads-image]][downloads-url] | ||
> Ansi escaped color styling for the console/terminal | ||
## Why? | ||
It loads fast. It runs fast. It's lightweight. It has no dependencies. I wanted to learn. | ||
## Installation | ||
```bash | ||
$ npm install akileez\colorz | ||
$ npm install colorz | ||
``` | ||
## Usage | ||
see the [example.js](example.js) for further usage | ||
```js | ||
var colorz = require('colorz') | ||
colorz.red('because') | ||
colorz.brRed('because') | ||
colorz.green('because') | ||
colorz.brGreen('because') | ||
colorz.magenta('becaaaausssse') | ||
colorz.cyan('because') | ||
colorz.white('of') | ||
colorz.gray('the') | ||
colorz.inverse('wonderful') | ||
colorz.black('things') | ||
colorz.strikethrough('he') | ||
colorz.red('does') | ||
colorz.bgRed('da da da da da da da, dum dum') | ||
colorz.underline(colorz.cyan('we\'re off to see the wizard')) | ||
colorz.dim('the wonderful wizard of OZ!') | ||
colorz.bold('hello world') | ||
// you can also make things a bit easier for yourself | ||
const red = colorz.red | ||
const blu = colorz.blue | ||
// etc, etc. | ||
console.log(red('Hello World')) | ||
``` | ||
![My iterm setup. YMMV](./img/colorz.jpg) | ||
## API | ||
#### `.[style](msg)` | ||
Enter a syle and your text message, i.e., `colorz.inverse('Hello')` | ||
List of styles used by the API | ||
**modifiers** | ||
reset | ||
bold | ||
dim | ||
italic | ||
underline | ||
inverse | ||
hidden | ||
strikethrough | ||
**foregrounds** | ||
black | ||
gray | ||
grey | ||
red | ||
green | ||
yellow | ||
blue | ||
magenta | ||
cyan | ||
white | ||
**bright foregrounds** | ||
brBlack | ||
brGray | ||
brGrey | ||
brRed | ||
brGreen | ||
brYellow | ||
brBlue | ||
brMagenta | ||
brCyan | ||
brWhite | ||
**backgrounds** | ||
bgBlack | ||
bgGray | ||
bgGrey | ||
bgRed | ||
bgGreen | ||
bgYellow | ||
bgBlue | ||
bgMagenta | ||
bgCyan | ||
bgWhite | ||
**bright backgrounds** | ||
bbBlack | ||
bbGray | ||
bbGrey | ||
bbRed | ||
bbGreen | ||
bbYellow | ||
bbBlue | ||
bbMagenta | ||
bbCyan | ||
bbWhite | ||
#### `.strip(ansiDecoratedTextMsg)` | ||
Strip the ansi escaped sequences off the text | ||
```js | ||
var text = colorz.cyan('Hello') | ||
console.log(colorz.strip(text)) | ||
// --> Hello | ||
``` | ||
#### `.expose(color:STRING[, text:STRING, noColor:BOOLEAN])` | ||
Expose the ansi escape strings in color (default) | ||
```js | ||
console.log(colorz.expose('green')) | ||
console.log(colorz.expose('cyan', 'See me now')) | ||
console.log(colorz.expose('bgYellow', 'I am a background', true)) | ||
console.log(colorz.expose('magenta', false)) | ||
``` | ||
## Why? | ||
![](./img/colorz.expose.png) | ||
## See Also | ||
- | ||
There are many ansi escape terminal coloring applications running in the wild. Here are a few to start with: | ||
- [chalk](https://www.npmjs.com/package/chalk). Terminal string styling done right. Much color. | ||
- [colors](https://www.npmjs.com/package/colors). get colors in your node.js console | ||
- [colour.js](https://github.com/dcodeIO/colour.js). A cored, fixed, documented and optimized version of the popular `colors.js` | ||
- [neocolor](https://www.npmjs.com/package/neocolor). Minimal library for colored console output | ||
- [ansi-wrap](https://www.npmjs.com/package/ansi-wrap). Create ansi colors by passing the open and close codes. | ||
- [clor](https://github.com/bucaran/clor). Sexy terminal styles | ||
- [colorful](https://github.com/lepture/colorful). colorful environment for command line tools in node | ||
## License | ||
@@ -33,7 +151,7 @@ [ISC](https://tldrlegal.com/license/ISC-license) | ||
[npm-url]: https://npmjs.org/package/colorz | ||
[travis-image]: https://img.shields.io/travis/akileez/colorz.svg?style=flat-square | ||
[travis-url]: https://travis-ci.org/akileez/colorz | ||
[coveralls-image]: https://img.shields.io/coveralls/akileez/colorz.svg?style=flat-square | ||
[coveralls-url]: https://coveralls.io/r/akileez/colorz?branch=master | ||
[marm-image]: https://img.shields.io/badge/code%20style-marm-brightgreen.svg?style=flat-square | ||
[marm-url]: https://github.com/akileez/eslint-config-marm | ||
[stability-image]: https://img.shields.io/badge/stability-experimental-orange.svg?style=flat-square | ||
[stability-url]: https://github.com/akileez/colorz | ||
[downloads-image]: http://img.shields.io/npm/dm/colorz.svg?style=flat-square | ||
[downloads-url]: https://npmjs.org/package/colorz |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8445
100
157