NAME

Parrot::Docs::POD2HTML - POD to HTML formatter

SYNOPSIS

use Parrot::Docs::POD2HTML;

DESCRIPTION

Parrot::Docs::POD2HTML subclasses Pod::Simple::HTML to provide various Parrot-specific formatting features, such as linking C<Parrot::Module> and F<file>, and using the Parrot house-style provided by Parrot::HTMLPage.

Instance Methods

do_beginning()

Reimplements the Pod::Simple::HTML method to add a header to the start of the document.

do_middle()

Does the middle of the document. This splits up the long do_middle() method in Pod:Simple::HTML, calling the various process_* methods below. This makes it easier to where the custom bits of Parrot-specific formatting have to be inserted.

process_start_token($token)

Process a start token.

Processes the link start token.

process_code_start_token($token)

Processes the code start token. If the code text is the name of a Parrot Perl module, and the current documentation file is not the file for that module, then the documentation file for the module is linked to.

process_file_start_token($token)

Processes the file start token. If the text of the next token is a file path and that file contains POD, then a link will be made to that file's documentation file.

process_item_text_or_head_start_token($token)

Process the item text or head start token.

process_data_start_token($token)

Processes a data start token.

process_other_start_token($token)

Processes a start token not processable by the above methods.

process_end_token($token)

Processes an end token.

process_text_token($token)

Processes the specified text token. URLs which are not in link tags are linked here for convenience.

do_pod_link($link)

This is reimplemented here to avoid a bug in Pod::Simple::HTML.

resolve_pod_page_link($to, $section)

Resolves the POD link. Perl modules are converted to paths.

href_for_perl_module($module)

Returns the path to the Perl module's HTML file relative to the current documentation page. Currently only lib/Parrot modules are linkable. Returns undef if the current documentation file is the file for the module.

do_end()

Reimplements the Pod::Simple::HTML method to add a footer to the end of the document.

html_for_file($file)

Returns the HTML for the specified file.

write_html($source, $target, $rel_path, $item)

Writes an HTML version of the file specified by $rel_path in $source to the equivalent location in $target.

append_html_suffix($path)

Returns $path with and HTML file suffix added.

html_link($href, $text)

Returns an HTML anchor with the specified "href".

href_path($path)

Converts the path for use in an "href".

Sequences of backslashes are converted to forward slash.

Functions

esc(@strings)
esc($string)

Reimplemented here to silence a Pod::Simple::HTML warning.

HISTORY

In order to avoid modifying Pod:Simple::HTLM large sections of its code have been copied here, and then refactored and adjusted to enable various bits of Parrot-specific behaviour.