Skip to content

derhuerst/asciicast-to-svg

Repository files navigation

asciicast-to-svg

Render frames of Asciicasts as SVGs.

npm version build status ISC-licensed chat on gitter support me on Patreon

Installing

npm install -g asciicast-to-svg

Usage

CLI

Usage:
    asciicast-to-svg [time]

Arguments:
    time   Which frame to render, in seconds.

Examples:
    cat some-asciicast.json | asciicast-to-svg 2.3 > some-asciicast.svg

JavaScript API

To render an Asciicast at a specific time, use renderAt:

const renderAt = require('asciicast-to-svg')
const toString = require('virtual-dom-stringify')

const asciicast = { /* … */ }

console.log(toString(renderAt(asciicast, 2.3))) // at 2.3 seconds

You can also render individual frames by using createRenderer. This example will render all frames:

const {createRenderer} = require('asciicast-to-svg')

const renderer = createRenderer({width: asciicast.width, height: asciicast.height})
for (let [delay, data] of asciicast.stdout) {
	renderer.write(data)
	console.log(toString(renderer.render()))
}

Contributing

If you have a question, found a bug or want to propose a feature, have a look at the issues page.