ath

ansi-to-html

Convert ansi escaped text streams to html.

Showing:

Popularity

Downloads/wk

2.8M

GitHub Stars

257

Maintenance

Last Commit

18d ago

Contributors

15

Package

Dependencies

1

License

MIT

Type Definitions

Built-In

Tree-Shakeable

No?

Categories

Readme

Ansi to Html

rburns

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

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

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

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 running babel.
  • 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

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial