Pod::Elemental(3) work with nestable Pod elements

VERSION

version 0.103004

SYNOPSIS


use Pod::Elemental;
use Pod::Elemental::Transformer::Pod5;
my $document = Pod::Elemental->read_file('lib/Pod/Elemental.pm');
Pod::Elemental::Transformer::Pod5->new->transform_node($document);
print $document->as_debug_string, "\n"; # quick overview of doc structure
print $document->as_pod_string, "\n"; # reproduce the document in Pod

DESCRIPTION

Pod::Elemental is a system for treating a Pod (plain old documentation) documents as trees of elements. This model may be familiar from many other document systems, especially the HTML DOM. Pod::Elemental's document object model is much less sophisticated than the HTML DOM, but still makes a lot of document transformations easy.

In general, you'll want to read in a Pod document and then perform a number of prepackaged transformations on it. The most common of these will be the Pod5 transformation, which assumes that the basic meaning of Pod commands described in the Perl 5 documentation hold: "=begin", "=end", and "=for" commands mark regions of the document, leading whitespace marks a verbatim paragraph, and so on. The Pod5 transformer also eliminates the need to track elements representing vertical whitespace.

ATTRIBUTES

event_reader

The event reader (by default a new instance of Pod::Eventual::Simple is used to convert input into an event stream. In general, it should provide "read_*" methods that behave like Pod::Eventual::Simple.

objectifier

The objectifier (by default a new Pod::Elemental::Objectifier) must provide an "objectify_events" method that converts Pod events into Pod::Elemental::Element objects.

document_class

This is the class for documents created by reading pod.

METHODS

read_handle

read_file

read_string

These methods read the given input and return a Pod::Elemental::Document.

AUTHOR

Ricardo SIGNES <[email protected]>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Ricardo SIGNES.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.