Convert ansi escaped text streams to html.
CoffeeScript JavaScript
Latest commit 4dbebe5 Sep 26, 2016 @rburns committed on GitHub Merge pull request #28 from monsterkodi/master
cli karg dependency removed

README.md

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 ansi-to-html

Usage

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>
*/

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/>.

escapeXML true or false Generate HTML/XML entities.

stream true or false save style state across invocations of toHtml().

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

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