
=head1 NAME

OODoc::Format::Pod2 - Produce POD pages from the doc tree with a template


=head1 INHERITANCE

 OODoc::Format::Pod2
   is a OODoc::Format::Pod
   is a OODoc::Format
   is a OODoc::Object


=head1 SYNOPSIS

 my $doc = OODoc->new(...);
 $doc->create
   ( 'pod2'   # or 'OODoc::Format::Pod2'
   , format_options => [show_examples => 'NO']
   );


=head1 DESCRIPTION

Create manual pages in the POD syntax, using the Text::MagicTemplate
template system.  It may be a bit simpler to configure the outcome
using the template, than using L<OODoc::Format::Pod|OODoc::Format::Pod>, however you
first need to install L<Bundle::Text::MagicTemplate>.


=head1 OVERLOADED



=head1 METHODS


=head2 Constructors


OODoc::Format::Pod2-E<gt>B<new>(OPTIONS)

=over 4

See L<OODoc::Format/"METHODS">

=back

=head2 Inheritance knowledge


$obj-E<gt>B<extends>([OBJECT])

=over 4

See L<OODoc::Object/"Inheritance knowledge">

=back

=head2 Attributes


$obj-E<gt>B<manifest>

=over 4

See L<OODoc::Format/"Attributes">

=back

$obj-E<gt>B<project>

=over 4

See L<OODoc::Format/"Attributes">

=back

$obj-E<gt>B<version>

=over 4

See L<OODoc::Format/"Attributes">

=back

$obj-E<gt>B<workdir>

=over 4

See L<OODoc::Format/"Attributes">

=back

=head2 Page generation


$obj-E<gt>B<chapterInheritance>(OPTIONS)

=over 4

See L<OODoc::Format::Pod/"Page generation">

=back

$obj-E<gt>B<cleanup>(MANUAL, STRING)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<createInheritance>(MANUAL)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<createManual>(OPTIONS)

=over 4

 Option          Defined in       Default   
 append          L<OODoc::Format::Pod>  ''        
 format_options  L<OODoc::Format>  []        
 manual          L<OODoc::Format>  <required>
 project         L<OODoc::Format>  <required>
 template                         <in code> 

. append STRING|CODE

. format_options ARRAY

. manual MANUAL

. project STRING

. template FILENAME

=over 4

The default template is included in the DATA segment of
L<OODoc::Format::Pod2|OODoc::Format::Pod2>.  You may start your own template
by copying it to a file.

=back

=back

$obj-E<gt>B<createOtherPages>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<formatManual>(OPTIONS)

=over 4

See L<OODoc::Format::Pod/"Page generation">

=back

$obj-E<gt>B<link>(MANUAL, OBJECT, [TEXT])

=over 4

See L<OODoc::Format::Pod/"Page generation">

=back

$obj-E<gt>B<showChapter>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showChapterIndex>(FILE, CHAPTER, INDENT)

=over 4

See L<OODoc::Format::Pod/"Page generation">

=back

$obj-E<gt>B<showExamples>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showOptionExpand>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showOptionTable>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showOptionUse>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showOptionalChapter>(NAME, OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showOptions>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showRequiredChapter>(NAME, OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showStructureExpanded>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showStructureRefer>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showSubroutine>((@))

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showSubroutineDescription>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showSubroutineName>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showSubroutineUse>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<showSubroutines>(OPTIONS)

=over 4

See L<OODoc::Format/"Page generation">

=back

$obj-E<gt>B<writeTable>

=over 4

See L<OODoc::Format::Pod/"Page generation">

=back

=head2 Text::MagicTemplate


$obj-E<gt>B<zoneGetParameters>(ZONE|STRING)

=over 4

See L<OODoc::Format/"Text::MagicTemplate">

=back

=head2 Template processing


$obj-E<gt>B<templateChapter>

=over 4

=back

=head2 Commonly used functions


$obj-E<gt>B<filenameToPackage>(FILENAME)

OODoc::Format::Pod2-E<gt>B<filenameToPackage>(FILENAME)

=over 4

See L<OODoc::Object/"Commonly used functions">

=back

$obj-E<gt>B<mkdirhier>(DIRECTORY)

OODoc::Format::Pod2-E<gt>B<mkdirhier>(DIRECTORY)

=over 4

See L<OODoc::Object/"Commonly used functions">

=back

=head2 Manual Repository


$obj-E<gt>B<addManual>(MANUAL)

=over 4

See L<OODoc::Object/"Manual Repository">

=back

$obj-E<gt>B<mainManual>(NAME)

=over 4

See L<OODoc::Object/"Manual Repository">

=back

$obj-E<gt>B<manual>(NAME)

=over 4

See L<OODoc::Object/"Manual Repository">

=back

$obj-E<gt>B<manuals>

=over 4

See L<OODoc::Object/"Manual Repository">

=back

$obj-E<gt>B<manualsForPackage>(NAME)

=over 4

See L<OODoc::Object/"Manual Repository">

=back

$obj-E<gt>B<packageNames>

=over 4

See L<OODoc::Object/"Manual Repository">

=back



=head1 DIAGNOSTICS

I<Error:> chapter without name in template.

In your template file, a {chapter} statement is used, which is
erroneous, because it requires a chapter name.

I<Error:> formatter does not know the version.


I<Error:> formatter has no project name.

A formatter was created without a name specified for the project at
hand.  This should be passed with L<new(project)|OODoc::Format/"METHODS">.

I<Error:> manual definition requires manual object

A call to L<addManual()|OODoc::Object/"Manual Repository"> expects a new manual object (a L<OODoc::Manual|OODoc::Manual>),
however an incompatible thing was passed.  Usually, intended was a call
to L<manualsForPackage()|OODoc::Object/"Manual Repository"> or L<mainManual()|OODoc::Object/"Manual Repository">.

I<Warning:> missing required chapter $name in $manual


I<Error:> no directory to put pod manual for $name in


I<Warning:> no meaning for container $container in chapter block


I<Error:> no package name for pod production


I<Error:> no working directory specified.

The formatter has to know where the output can be written.  This
directory must be provided via L<new(workdir)|OODoc::Format/"METHODS">, but was not specified.

I<Warning:> unknown subroutine type $type for $name in $manual



=head1 DETAILS






=head1 REFERENCES

See the OODoc website at L<http://perl.overmeer.net/oodoc/> for more details.

=head1 COPYRIGHTS

Module version 0.09.
Written by Mark Overmeer (mark@overmeer.net).  See the ChangeLog for
other contributors.

Copyright (c) 2003 by the author(s). All rights reserved.  This program
is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.


