GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
HTML::FromANSI(3) User Contributed Perl Documentation HTML::FromANSI(3)

HTML::FromANSI - Mark up ANSI sequences as HTML

    use HTML::FromANSI (); # avoid exports if using OO
    use Term::ANSIColor;

    my $h = HTML::FromANSI->new(
        fill_cols => 1,
    );


    $h->add_text(color('bold blue'), "This text is bold blue.");

    print $h->html;


    # you can append text in the new api:

    $h->add_text(color('bold blue'), " still blue.");

    print $h->html



    # The old API still works:

    $HTML::FromANSI::Options{fill_cols} = 1; # fill all 80 cols
    print ansi2html(color('bold blue'), "This text is bold blue.");

This small module converts ANSI text sequences to corresponding HTML codes, using stylesheets to control color and blinking properties.

It exports "ansi2html()" by default, which takes an array, joins it it into a single scalar, and returns its HTML rendering.

From version 2.00 an object oriented api which is safer for multiple uses (no more manipulation of shared %Options) is available. It is reccomended that you no longer import any functions by doing:

    use HTML::FromANSI ();

and use the new documented API instead of the functional one.

The underlying ANSI code processing is done by Term::VT102, a DEC VT102 terminal emulator. To generate ANSI codes for color changes, cursor movements etc, take a look at Term::ANSIScreen and Term::ANSIColor.

new
The constructor. See "OPTIONS" for the options it takes.
add_text @text
Adds text input to the terminal emulator.
html
Renders the screen as computed by "terminal_object" into HTML.
ansi_to_html @text
A convenience method.

Calls "add_text" and then "html".

terminal_object
The underlying terminal emulator object.

These are parameters you can pass to "new".
linewrap
A boolean value to specify whether to wrap lines that exceeds width specified by "col", or simply truncate them. Defaults to 1.

Only takes effect if you override "terminal_class" or "terminal_object" with a Term::VT102 (instead of Term::VT102::Boundless).

lf_to_crlf
A boolean value to specify whether to translate all incoming \n into "\r\n" or not; you generally wants to use this if your data is from a file using unix line endings. The default is 0 on MSWin32 and MacOS, and 1 on other platforms.
fill_cols
A boolean value to specify whether to fill empty columns with space; use this if you want to maintain a screen-like appearance in the resulting HTML, so that each row will be aligned properly. Defaults to 0.
html_entity
A boolean value to specify whether to escape all high-bit characters to HTML entities or not; defaults to 0, which means only "<", ">", """ and "&" will be escaped. (Handy when processing most ANSI art entries.)
cols
A number specifying the width of the virtual terminal; defaults to 80.

When "Term::VT102::Boundless" is in use (the default) this specifies the minimum number of rows to draw.

When using "Term::VT102" (by overriding "terminal_class" or "terminal_object") then the number of columns is fixed.

rows
When "Term::VT102::Boundless" is in use (the default) this specifies the minimum number of rows to draw.

When Term::VT102 is in use (by overriding "terminal_class" or terminal_object) then it sets the height of the virtual terminal; rows that exceeds this number will be truncated.

font_face
A string used as the "face" attribute to the "font" tag enclosing the HTML text; defaults to "fixedsys, lucida console, terminal, vga, monospace".

If this option and the "style" option are both set to empty strings, the "font" tag will be omitted.

style
A string used as the "style" attribute to the "font" tag enclosing the HTML text; defaults to <line-height: 1; letter-spacing: 0; font-size: 12pt>.

If this option and the "font_face" option are both set to empty strings, the "font" tag will be omitted.

tt
A boolean value specifying whether the HTML text should be enclosed in a "tt" tag or not. Defaults to 1.
show_cursor
A boolean value to control whether to highlight the character under the cursor position, by reversing its background and foregroud color. Defaults to 0.

If the cursor is on it's own line and "show_cursor" is set, then that row will be omitted.

terminal_class
The class to instantiate "terminal_object" with. Defaults to Term::VT102::Boundless.
terminal_object
Any Term::VT102 compatible object should work here.

If you override it most values like "cols", "rows", "terminal_class" etc will be ignored.

Term::VT102::Boundless, HTML::Entities, Term::ANSIScreen

Audrey Tang <audreyt@audreyt.org> Yuval Kogman <nothingmuch@woobling.org>

Copyright 2001, 2002, 2003 by Audrey Tang <audreyt@audreyt.org>.

Copyright 2007 Yuval Kogman <nothingmuch@Woobling.org>

This program is free software; you can redistribute it and/or modify it under the terms of the MIT license or the same terms as Perl itself.

Hey! The above document had some coding errors, which are explained below:
Around line 388:
You forgot a '=back' before '=head1'
2007-09-20 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.