shell-color

2.0.1 • Public • Published

shell-color

Javascript parse ANSI escape code and render to HTML, for CommonJS package

style

Install

npm install --save shell-color

Constructor

Common parameters

const ShellColor = require('shell-color')
 
var sc = new ShellColor({
    colorMap: {                       // optional
        white: '#cccccc',
     black: '#333333'
    },
    defaultBackgroundColor: 'white',  // optional
    defaultForegroundColor: 'black',  // optional
    snippetTag:             'span'    // optional
})

Use Worker

var sc = new ShellColor({
    useWorker: true,
    worker: {
        path: 'node_modules/shell-color/dest/worker.js',
        callback: function() { ... }
    }
})

Usage

sc.on('reset', function() {
    console.log('reset')
})
 
sc.on('lineStart', function() {
    var startInfo = document.createElement('b')
    startInfo.innerText = 'start:'
    document.body.appendChild(startInfo)
})
 
sc.on('snippet', function(tag) {
    document.body.appendChild(tag)
})
 
sc.on('lineEnd', function() {
    var br = document.createElement('br')
    document.body.appendChild(br)
})
 
sc.reset()
  .write('\x1b[30m black\n\x1b[m\x1b[31m red\nend')

sc.reset()

Create a new stream, before write you must call reset at least once.

sc.write(text)

Push a text to current stream

You can not keep \n in final output, because tag.innerText convert \n to <br>, for example:

var span = document.createElement('span')
span.innerText = '123\n\n456'
assert.equal(span.innerHTML, '123<br><br>567')

sc.on()

sc.on('lineStart', function() { ... })
sc.on('snippet', function(tag) { ... })
sc.on('lineEnd', function() { ... })

ShellColor.strip(text)

var text = '\x1b[30m black \x1b[m\x1b[31m red'
var str = sc.strip(text) // ' black  red'

ShellColor.toBlockTags(text)

var tags = ShellColor.toBlockTags(text)
tags.forEach(function (tag) {
    document.body.appendChild(tag) // <p>...</p>
})

ShellColor.toInlineTags(text)

var tags = ShellColor.toInlineTags(text)
tags.forEach(function (tag) {
    document.body.appendChild(tag) // <span>...</span> or <br>
})

ChangeLog

  • 1.1.0 Add web worker support
  • 2.0.0 Build change to webpack

Reference

Readme

Keywords

none

Package Sidebar

Install

npm i shell-color

Weekly Downloads

4

Version

2.0.1

License

MIT

Last publish

Collaborators

  • valaxy