1Pod::Weaver(3)        User Contributed Perl Documentation       Pod::Weaver(3)
2
3
4

NAME

6       Pod::Weaver - weave together a Pod document from an outline
7

VERSION

9       version 4.015
10

SYNOPSIS

12         my $weaver = Pod::Weaver->new_with_default_config;
13
14         my $document = $weaver->weave_document({
15           pod_document => $pod_elemental_document,
16           ppi_document => $ppi_document,
17
18           license  => $software_license,
19           version  => $version_string,
20           authors  => \@author_names,
21         })
22

DESCRIPTION

24       Pod::Weaver is a system for building Pod documents from templates.  It
25       doesn't perform simple text substitution, but instead builds a
26       Pod::Elemental::Document.  Its plugins sketch out a series of sections
27       that will be produced based on an existing Pod document or other
28       provided information.
29

ATTRIBUTES

31   logger
32       This attribute stores the logger, which must provide a log method.  The
33       weaver's log method delegates to the logger's log method.
34
35   plugins
36       This attribute is an arrayref of objects that can perform the
37       Pod::Weaver::Role::Plugin role.  In general, its contents are found
38       through the "plugins_with" method.
39

METHODS

41   plugins_with
42         my $plugins_array_ref = $weaver->plugins_with('-Section');
43
44       This method will return an arrayref of plugins that perform the given
45       role, in the order of their registration.  If the role name begins with
46       a hyphen, the method will prepend "Pod::Weaver::Role::".
47
48   weave_document
49         my $document = $weaver->weave_document(\%input);
50
51       This is the most important method in Pod::Weaver.  Given a set of input
52       parameters, it will weave a new document.  Different section plugins
53       will expect different input parameters to be present, but some common
54       ones include:
55
56         pod_document - a Pod::Elemental::Document for the original Pod document
57         ppi_document - a PPI document for the source of the module being documented
58         license      - a Software::License object for the source module's license
59         version      - a version (string) to use in produced documentation
60
61       The "pod_document" should have gone through a Pod5 transformer, and
62       should probably have had its "=head1" elements nested.
63
64       The method will return a new Pod::Elemental::Document.  The input
65       documents may be destructively altered during the weaving process.  If
66       they should be untouched, pass in copies.
67
68   new_with_default_config
69       This method returns a new Pod::Weaver with a stock configuration by
70       using only Pod::Weaver::PluginBundle::Default.
71

AUTHOR

73       Ricardo SIGNES <rjbs@cpan.org>
74

CONTRIBUTORS

76       ·   Alex Peters <lxp@cpan.org>
77
78       ·   Apocalypse <perl@0ne.us>
79
80       ·   Blabos de Blebe <blabos@cpan.org>
81
82       ·   Caleb Cushing <xenoterracide@gmail.com>
83
84       ·   Christian Walde <walde.christian@googlemail.com>
85
86       ·   Christopher J. Madsen <perl@cjmweb.net>
87
88       ·   Chris Weyl <cweyl@alumni.drew.edu>
89
90       ·   Dave Houston <dave.houston@gmail.com>
91
92       ·   Dave Rolsky <autarch@urth.org>
93
94       ·   David E. Wheeler <david@justatheory.com>
95
96       ·   David Golden <dagolden@cpan.org>
97
98       ·   David Zurborg <post@david-zurb.org>
99
100       ·   Doug Bell <doug@preaction.me>
101
102       ·   Florian Ragwitz <rafl@debian.org>
103
104       ·   Jonathan "Duke" Leto <jonathan@leto.net>
105
106       ·   Joshua Keroes <joshua.keroes@integratelecom.com>
107
108       ·   Karen Etheridge <ether@cpan.org>
109
110       ·   Kent Fredric <kentfredric@gmail.com>
111
112       ·   Marcel Gruenauer <hanekomu@gmail.com>
113
114       ·   Randy Stauner <randy@magnificent-tears.com>
115
116       ·   Sam Graham <git@illusori.co.uk>
117
118       ·   Shlomi Fish <shlomif@shlomifish.org>
119
121       This software is copyright (c) 2016 by Ricardo SIGNES.
122
123       This is free software; you can redistribute it and/or modify it under
124       the same terms as the Perl 5 programming language system itself.
125
126
127
128perl v5.32.0                      2020-07-28                    Pod::Weaver(3)
Impressum