@orta/ansi-to-html
v0.6.14
Published
Convert ansi escaped text streams to html.
Downloads
2
Readme
Ansi to Html
This was originally a port of the ansi to html converter from bcat to JavaScript. It has since undergone quite a lot of modification.
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 ansi-to-html
Usage
const Convert = require('ansi-to-html');
const convert = new Convert();
console.log(convert.toHtml('\x1b[30mblack\x1b[37mwhite'));
/*
prints:
<span style="color:#000">black<span style="color:#AAA">white</span></span>
*/
Command line usage
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.
Process a file
ansi-to-html the_filename
From STDIN
git log | ansi-to-html
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/>
.
space true
or false
(default). Convert any two sequential spaces to  
(a space followed by a non-breaking space). You will probably wish to use this with a fixed width font, e.g., font-family: monospace;
.
tabs null
(default) or a number. Converts tabs to a given number of non-breaking spaces ( 
).
escapeXML true
or false
. Generate HTML/XML entities.
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,
escapeXML: false,
stream: false
}
Development
Once you have the git repository cloned, install the dependencies:
cd ansi-to-html
npm install
Lint
npm run lint
Build
npm run build
- Builds the
/src
files by runningbabel
. - Saves the built files in
/lib
output directory. - Recommended to run
babel
in Watch mode - will re-build the project each time the files are changed.
npm run build:watch
Test
npm test
- Note: Runs the tests against the built files (in the
/lib
directory). - You also run the tests in watch mode (will rerun tests when files are changed).
- Recommended to run the build in watch mode as well to re-build the project before the tests are run.
npm run test:watch