This is a port of the ansi to html converter from bcat to Javascript.
It has a few additions:
- The API has been altered to accept options in the constructor, and input in
toHtml()
. - ANSI codes for setting the foreground or background color to default are handled
- the 'erase in line' escape code (\x1b[K) is dropped from the output.
npm install ansi-to-html
var Convert = require('ansi-to-html');
var convert = new Convert();
console.log(convert.toHtml('\x1b[30mblack\x1b[37mwhite'));
/*
prints:
<span style="color:#000">black<span style="color:#AAA">white</span></span>
*/
Options can be be passed to the constructor to customize behaviour.
fg CSS color values
The default foreground color used when reset color codes are encountered.
bg CSS color values
The default background color used when reset color codes are encountered.
newline true or false
Convert newline characters to <br/>
.
escapeXML true or false
Generate HTML/XML entities.
stream true or false
save style state across invocations of toHtml().
Once you have the git repository cloned, install the dependencies:
cd ansi-to-html
npm install
If you don't have it already, install the grunt command-line tool:
npm install -g grunt-cli
Build and test
grunt
All the time
grunt watch
Or separately
grunt coffee
grunt simplemocha # or npm test