#!/usr/bin/env plackup use strict; use warnings; use Plack::Builder; use lib "lib"; use HTML::FromANSI::Tiny; my $w = HTML::FromANSI::Tiny->new(auto_reverse => 1, background => 'white', foreground => 'black'); my $b = HTML::FromANSI::Tiny->new(auto_reverse => 1, background => 'black', foreground => 'white'); my $ansi = do { local $/; }; my $alternate = eval q{ use HTML::FromANSI; HTML::FromANSI::ansi2html( $ansi ); }; my $html = sprintf '
%s
%s

%s
', scalar $w->css, scalar $w->html( $ansi ), scalar $b->html( $ansi ), $alternate; builder { sub { [ 200, [ "Content-type" => "text/html" ], [ $html ] ]; } }; __DATA__ 0  0  0  1  1  1  2  2  2  3  3  3  4  4  4  5  5  5  6  6  6  7  7  7  30  30  30  31  31  31  30  30  30  31  31  31  32  32  32  33  33  33  34  34  34  35  35  35  36  36  36  37  37  37  40  40  40  41  41  41  42  42  42  43  43  43  44  44  44  45  45  45  46  46  46  47  47  47  90  90  90  91  91  91  92  92  92  93  93  93  94  94  94  95  95  95  96  96  96  97  97  97  100  100  100  101  101  101  102  102  102  103  103  103  104  104  104  105  105  105  106  106  106  107  107  107