NAME
PPI::HTML - Generate syntax-hightlighted HTML for Perl using PPI
SYNOPSIS
use PPI;
use PPI::HTML;
# Load your Perl file
my $Document = PPI::Document->load( 'script.pl' );
# Create a highlighter
my $Highlight = PPI::HTML->new( $Document, line_numbers => 1 );
# Spit out the HTML
print $Highlight->html;
DESCRIPTION
PPI::HTML is the successor to the non-redundant PPI::Format::HTML.
While early on it was thought that the same formatting code might be
able to be used for a variety of different types of things (ANSI and
HTML for example) later developments with the here-doc code and the need
for independantly written serializers meant that this idea had to be
discarded.
In addition, the old module only made use of the Tokenizer, and had a
pretty shit API to boot.
API Overview
The new module is much cleaner. Simple create an object with the options
you want and pass PPI::Document objects to the "html" method, and you
get strings of HTML.
METHODS
new %args
The "new" constructor takes a simple set of key/value pairs to define
the formatting options for the HTML.
page
Is the "page" option is enabled, the generator will wrap the
generated HTML fragment in a basic but complete page.
line_numbers
At the present time, the only option available. If set to true, line
numbers are added to the output.
colors | colours
For cases where you don't want to use an external stylesheet, you
can provide "colors" as a hash reference where the keys are CSS
classes (generally matching the token name) and the values are
colours.
This allows basic colouring without the need for a whole stylesheet.
Returns a new PPI::HTML object
html $Document
The main method for the class, the "html" method takes a single
PPI::Document object, and returns a string of HTML formatted based on
the arguments given to the PPI::HTML constructor.
Returns a string, or "undef" on error.
SUPPORT
Bugs should always be submitted via the CPAN bug tracker
For other issues, contact the maintainer
AUTHOR
Adam Kennedy (Maintainer), , cpan@ali.as
Funding provided by The Perl Foundation
COPYRIGHT
Copyright (c) 2005 Adam Kennedy. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same
terms as Perl itself.
The full text of the license can be found in the LICENSE file included
with this module.