Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atdt/escapes.js
Render ANSI art using HTML5 / JavaScript
https://github.com/atdt/escapes.js
Last synced: 12 days ago
JSON representation
Render ANSI art using HTML5 / JavaScript
- Host: GitHub
- URL: https://github.com/atdt/escapes.js
- Owner: atdt
- License: other
- Created: 2012-01-11T06:57:00.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2024-09-05T01:54:15.000Z (2 months ago)
- Last Synced: 2024-10-14T12:49:51.502Z (28 days ago)
- Language: JavaScript
- Homepage: https://atdt.github.io/escapes.js/
- Size: 682 KB
- Stars: 415
- Watchers: 10
- Forks: 23
- Open Issues: 1
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
README
_)
_ \ __| __| _` | __ \ _ \ __| | __|
__/ \__ \ ( ( | | | __/ \__ \ | \__ \
\___| ____/ \___| \__,_| .__/ \___| ____/ _) | ____/
_| ___/escapes.js is a small JavaScript / Canvas library for rendering ANSI art. It
has no dependencies, but it integrates nicely with jQuery.Demo: https://atdt.github.io/escapes.js/
Example:
escapes('path/to/file.ans', function () {
document.body.appendChild(this);
});Example (with jQuery):
escapes('path/to/file.ans', function () {
$(this).appendTo('body');
});Within the callback, the value of "this" is set to a canvas element
containing the rendered ANSI. The element is augmented with a couple of
useful methods:this.toImageTag()
Creates an image tag with a PNG of the ANSI.
this.toDownloadURL()
Returns a string URL containing the rendered ANSI as a base64-encoded
PNG file, with a MIME type of "image/octet-stream". If you set this URL
as the href attribute of a link tag, clicking on it will open a "Save
File..." dialog.escapes() takes a configuration object as an optional third parameter. You
can use it to make the default background color transparent by passing in
{transparent: true}.If you're using escapes.js with jQuery, you can invoke the library as
$.ansiRender([url]). This returns a jQuery.Deferred object:$.ansiRender('path/to/file.ans').done(function () {
// do stuff
});Thie chief advantage of this approach is that it allows you to synchronize
ANSI rendering with other asyncronous operations (using Deferred.when, for
example). You can read more about jQuery.Deferred here:http://api.jquery.com/category/deferred-object/
For lots & lots of beautiful ANSI art, check out http://sixteencolors.net/