table of contents
Pod::Weaver(3pm) | User Contributed Perl Documentation | Pod::Weaver(3pm) |
NAME¶
Pod::Weaver - weave together a Pod document from an outline
VERSION¶
version 4.015
SYNOPSIS¶
my $weaver = Pod::Weaver->new_with_default_config; my $document = $weaver->weave_document({ pod_document => $pod_elemental_document, ppi_document => $ppi_document, license => $software_license, version => $version_string, authors => \@author_names, })
DESCRIPTION¶
Pod::Weaver is a system for building Pod documents from templates. It doesn't perform simple text substitution, but instead builds a Pod::Elemental::Document. Its plugins sketch out a series of sections that will be produced based on an existing Pod document or other provided information.
ATTRIBUTES¶
logger¶
This attribute stores the logger, which must provide a log method. The weaver's log method delegates to the logger's log method.
plugins¶
This attribute is an arrayref of objects that can perform the Pod::Weaver::Role::Plugin role. In general, its contents are found through the "plugins_with" method.
METHODS¶
plugins_with¶
my $plugins_array_ref = $weaver->plugins_with('-Section');
This method will return an arrayref of plugins that perform the given role, in the order of their registration. If the role name begins with a hyphen, the method will prepend "Pod::Weaver::Role::".
weave_document¶
my $document = $weaver->weave_document(\%input);
This is the most important method in Pod::Weaver. Given a set of input parameters, it will weave a new document. Different section plugins will expect different input parameters to be present, but some common ones include:
pod_document - a Pod::Elemental::Document for the original Pod document ppi_document - a PPI document for the source of the module being documented license - a Software::License object for the source module's license version - a version (string) to use in produced documentation
The "pod_document" should have gone through a Pod5 transformer, and should probably have had its "=head1" elements nested.
The method will return a new Pod::Elemental::Document. The input documents may be destructively altered during the weaving process. If they should be untouched, pass in copies.
new_with_default_config¶
This method returns a new Pod::Weaver with a stock configuration by using only Pod::Weaver::PluginBundle::Default.
AUTHOR¶
Ricardo SIGNES <rjbs@cpan.org>
CONTRIBUTORS¶
- Alex Peters <lxp@cpan.org>
- Apocalypse <perl@0ne.us>
- Blabos de Blebe <blabos@cpan.org>
- Caleb Cushing <xenoterracide@gmail.com>
- Christian Walde <walde.christian@googlemail.com>
- Christopher J. Madsen <perl@cjmweb.net>
- Chris Weyl <cweyl@alumni.drew.edu>
- Dave Houston <dave.houston@gmail.com>
- Dave Rolsky <autarch@urth.org>
- David E. Wheeler <david@justatheory.com>
- David Golden <dagolden@cpan.org>
- David Zurborg <post@david-zurb.org>
- Doug Bell <doug@preaction.me>
- Florian Ragwitz <rafl@debian.org>
- Jonathan "Duke" Leto <jonathan@leto.net>
- Joshua Keroes <joshua.keroes@integratelecom.com>
- Karen Etheridge <ether@cpan.org>
- Kent Fredric <kentfredric@gmail.com>
- Marcel Gruenauer <hanekomu@gmail.com>
- Randy Stauner <randy@magnificent-tears.com>
- Sam Graham <git@illusori.co.uk>
- Shlomi Fish <shlomif@shlomifish.org>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2016 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.
2016-10-22 | perl v5.24.1 |