diff --git a/Readme.md b/Readme.md index eeaa7f2..28ec255 100644 --- a/Readme.md +++ b/Readme.md @@ -1,13 +1,13 @@ # ansi_up.js -__ansi_up__ is a simple, easy to use library that provides a streaming API to -transform text containing -[ANSI color escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors) into proper HTML. -It can also transform any text that looks like a URL into an HTML anchor tag. +__ansi_up__ is an easy to use library that transforms text containing +[ANSI color escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors) into HTML. -This module is a single Javascript file with no dependencies. It is a UMD style module so it -can be utilized in a browser, in node.js (CommonJS), or with AMD (require.js). The source code -was compiled from TypeScript and its type description ships with the NPM. This code has been used in production since 2011 and is actively maintained. +This module is a single Javascript file with no dependencies. +It is "isomorphic" javascript. This is just another way of saying that +the ansi_up.js file will work in both the browser or node.js. +The js library is compiled from TypeScript and its type description ships with the NPM. +This code has been used in production since 2011 and is actively maintained. For example, turn this terminal output: @@ -74,7 +74,7 @@ More examples are in the 'examples' directory in the repo. ## Versions -* Version 4.0 - Re-architect code to support terminal linkify escapes. +* Version 4.0 - Re-architect code to support [https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda](terminal URL codes). * Version 3.0 - now treats ANSI bold sequences as CSS font-weight:bold * Version 2.0 - moved to a stateful, streaming version of the API * Version 1.3 - was the last of the older, deprecated API. @@ -83,41 +83,39 @@ More examples are in the 'examples' directory in the repo. 1. Use whatever module system to import the _ansi_up_ module. 2. Instantiate the object. -3. For every piece of input that arrives, call **ansi_to_html**. +3. For every piece of ansi escaped text string, call **ansi_to_html**. 4. Append the emitted HTML to the previous HTML already emitted. +5. DONE -## API Methods +## API Methods and Recommended Settings -In order to use _ansi_up_, you must Instantiate an object using your given module -system. +You only need the ansi_to_html method. The other properties listed below allow you to +override some of the escaping behaviour. You probably don't need to change these +from their default values. -#### ansi_to_html (txt) - -This replaces ANSI terminal escape codes/sequences with SPAN tags that wrap the content. - -This function only interprets ANSI SGR (Select Graphic Rendition) codes that can be represented in HTML. For example, cursor movement codes are ignored and hidden from output. +It is recommended that the HTML container that holds the span tags is styled with a monospace font. +A PRE tag would work just fine for this. +It is also recommended that the HTML container is styled with a black background. +See the examples, for more CSS theming. -The default style uses colors that are very close to the prescribed standard. The standard assumes that the text will have a black background. These colors are set as inline styles on the SPAN tags. Another option is to set 'use_classes: true' in the options argument. This will instead set classes on the spans so the colors can be set via CSS. The class names used are of the format ````ansi-*-fg/bg```` and ````ansi-bright-*-fg/bg```` where * is the colour name, i.e black/red/green/yellow/blue/magenta/cyan/white. See the examples directory for a complete CSS theme for these classes. -#### ansi_to_text (txt) DEPRECATED +#### ansi_to_html (txt) -This simply removes the ANSI escape codes from the stream. -No escaping is done. +This transforms ANSI terminal escape codes/sequences into SPAN tags that wrap and style the content. -#### linkify(txt) DEPRECATED +This method only interprets ANSI SGR (Select Graphic Rendition) codes or escaped URL codes. +For example, cursor movement codes are ignored and hidden from output. -** DEPRECATED ** - it turns out that this makes the code much more difficult to achieve while providing -a streaming API. I should do a write-up on this at some point. For now, I leave this documentation here. -If the developer knows what they are doing and want this functionality, they can find the code to do this -in the history of this repo. +This method also safely escapes any unsafe HTML characters. -This replaces any links in the text with anchor tags that display the link. -Only strings starting with 'http' or 'https', and surrounded by whitespace are -considered valid patterns. -You should only call this method if you can guarantee that the full URL -will be passed into ansi_to_html(). If the URL is split along a buffer -boundary, then the wrong URL will be 'linkified'. +The default style uses colors that are very close to the prescribed standard. +The standard assumes that the text will have a black background. +These colors are set as inline styles on the SPAN tags. +Another option is to set the 'use_classes' property to true'. +This will instead set classes on the spans so the colors can be set via CSS. +The class names used are of the format ````ansi-*-fg/bg```` and ````ansi-bright-*-fg/bg```` where * is the colour name, i.e black/red/green/yellow/blue/magenta/cyan/white. +See the examples directory for a complete CSS theme for these classes. ## Properties @@ -125,51 +123,42 @@ boundary, then the wrong URL will be 'linkified'. (default: true) This does the minimum escaping of text to make it compliant with HTML. -In particular, the '&','<', and '>' characters are escaped. - +In particular, the '&','<', and '>' characters are escaped. It is +** highly ** recommended that you do not set this to false. It will open +the door security vulnerabilities. #### use_classes (default: false) -This causes the SPAN tags to use class names for the color style instead +This causes the SPAN tags to use classes to style the SPAN tags instead of specified RGB values. -## API Overview +#### url_whitelist +(default: { 'http':1, 'https':1 }; -On a high level, _ansi_up_ takes a stream of text and transforms it proper HTML with colors. -It does this by buffering the data and performing multiple passes over the -stream. Each time it consumes data, it may or may not emit HTML. This HTML will always be -proper HTML. +This mapping is a whitelist of URI schemes that will be allowed to render HTML anchor tags. -Because this process requires buffering (ie. stateful), you must insantiate an _ansi_up_ object -in order to begin. Also, text may be received later that is styled by a previous. +## Buffering -The first pass converts characters that are unsafe for HTML into their equivalents. It will only -convert '&', '<', and '>' characters. This pass is optional, and is on by default. +In general, the ansi_to_html *should* emit HTML when invoked with a non-empty string. +The only exceptions are an incomplete ESC sequence or an incomplete escaped URL. +For those cases, the library will buffer the escape or the sequence for the escaped URL. -The second pass converts any ANSI color sequences to HTML spans. It does this by recognizing -what is termed as ANSI **SGR** codes. All ANSI sequences (SGR and non-SGR) are removed from the -output stream. The SGR codes create HTML **SPAN** tags to surround text that is styled by those -codes. If the ANSI sequence is incomplete, it will be held in _ansi_up_'s internal buffer -until new data is received to complete it. +The library is also stateful. If a color is set in a prior invocation, then it will +continue to emit that color in further invocations until the color/SGR attribute is changed. -The third and final pass transforms URLs to HTML anchors. This will also buffer output until a non URL -character is received. This pass is optional, and is off by default. +### Example of a Use Case +I have used this library to 'tail' a file. -### Recommended Style of Use +On a remote machine, I had process generating a log file. +I had a web server running on the same machine. +The server hosted a simple HTML page that used AJAX to poll an object with a range query. +Specifically I used an HTTP/1.1 GET request with RFC 7233 Range query. +The first range query would start at 0, but then progressively move forward after +new data was received. -There are two ways to stream this data to a web page. A push model or a pull model. - -I have personally used a pull model to 'tail' a file. - -In my 'pull' model, I had a process generating a log file on a remote machine. -I had a web server running on the same machine. I developed a simple page -that used AJAX to poll the web server periodically. Specifically I used an -HTTP/1.1 GET request with RFC 7233 Range query. The server would return -either range response. - -I would then process each chunk received with _ansi_up_, and append the new +For each new chunk of data received, I would transform the data with _ansi_up_, and append the new spans to the innerHTML of a PRE tag. @@ -177,15 +166,11 @@ spans to the innerHTML of a PRE tag. One last important note, _ansi_up_ takes its input in the form of a Javascript string. These strings are UTF8. When you take the output of some program and send it to -Javascript, there will be buffering. Be sure to not send incomplete UTF8 sequences or +Javascript, there will be buffering. Be sure that you do not send incomplete UTF8 sequences. Javascript will ignore or drop the sequence from the stream when it converts it to a string. -_ansi_up_ should be called via the functions defined on the module. It is recommended that the HTML is rendered with a monospace font and black background. See the examples, for a basic theme as a CSS definition. -At the same, it also properly escapes HTML unsafe characters (&,<,>,etc.) into their proper HTML representation. - - ## Building To build, a simple Makefile handles it all. diff --git a/ansi_up.js b/ansi_up.js index 611b7ad..1812357 100644 --- a/ansi_up.js +++ b/ansi_up.js @@ -34,7 +34,7 @@ var PacketKind; })(PacketKind || (PacketKind = {})); var AnsiUp = (function () { function AnsiUp() { - this.VERSION = "4.0.1"; + this.VERSION = "4.0.2"; this.setup_palettes(); this._use_classes = false; this._escape_for_html = true; @@ -192,6 +192,10 @@ var AnsiUp = (function () { return pkt; } if (next_char == ']') { + if (len < 4) { + pkt.kind = PacketKind.Incomplete; + return pkt; + } if ((this._buffer.charAt(2) != '8') || (this._buffer.charAt(3) != ';')) { pkt.kind = PacketKind.ESC; diff --git a/ansi_up.ts b/ansi_up.ts index ae1600d..db61717 100644 --- a/ansi_up.ts +++ b/ansi_up.ts @@ -342,6 +342,12 @@ class AnsiUp // OSC CHECK if (next_char == ']') { + if (len < 4) + { + pkt.kind = PacketKind.Incomplete; + return pkt; + } + if ( (this._buffer.charAt(2) != '8') || (this._buffer.charAt(3) != ';') ) { diff --git a/dist/ansi_up.js.include b/dist/ansi_up.js.include index 1059408..39d0fe2 100644 --- a/dist/ansi_up.js.include +++ b/dist/ansi_up.js.include @@ -15,7 +15,7 @@ var PacketKind; })(PacketKind || (PacketKind = {})); var AnsiUp = (function () { function AnsiUp() { - this.VERSION = "4.0.1"; + this.VERSION = "4.0.2"; this.setup_palettes(); this._use_classes = false; this._escape_for_html = true; @@ -173,6 +173,10 @@ var AnsiUp = (function () { return pkt; } if (next_char == ']') { + if (len < 4) { + pkt.kind = PacketKind.Incomplete; + return pkt; + } if ((this._buffer.charAt(2) != '8') || (this._buffer.charAt(3) != ';')) { pkt.kind = PacketKind.ESC; diff --git a/dist/ansi_up.js.map b/dist/ansi_up.js.map index f962bfc..6c66814 100644 --- a/dist/ansi_up.js.map +++ b/dist/ansi_up.js.map @@ -1 +1 @@ -{"version":3,"file":"ansi_up.js","sourceRoot":"","sources":["../ansi_up.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ansi_up.js","sourceRoot":"","sources":["../ansi_up.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 1f99441..34a9f7c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ansi_up", - "version": "4.0.1", + "version": "4.0.2", "description": "Convert ansi sequences in strings to colorful HTML", "keywords": [ "ansi",