Ansi to Html
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.
Installation
npm install @neeeoo/ansi-to-html-no-xml
Usage
var Convert = require('@neeeoo/ansi-to-html-no-xml');
var convert = new Convert();
console.log(convert.toHtml('\x1b[30mblack\x1b[37mwhite'));
/*
prints:
<span style="color:#000">black<span style="color:#ccc">white</span></span>
*/
Command line usage
Process a file:
ansi-to-html the_filename
From STDIN:
git log | ansi-to-html
When using ansi-to-html from the command line the stream option is set to true
. Other options can
be provided. See ansi-to-html -h
for more detail.
Options
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/>
.
stream true or false
save style state across invocations of toHtml().
colors Object/Array with values 0 - 255 containing CSS color values
Can override specific colors or the entire ANSI palette
Default options
{
fg: '#FFF',
bg: '#000',
newline: false,
stream: false
}
Development
Once you have the git repository cloned, install the dependencies:
cd ansi-to-html-no-xml
npm install
Lint
npm run lint
Build
npm run build
Test
npm test