The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

pods2html - translate a tree of PODs to HTML

SYNOPSIS

pods2html [--base url] [--css url] [--empty] [--index title] [--module] [--[no]toc] [--hr level] [--bgcolor #rrggbb] [--text #rrggbb] [--variables values.pl] PODdir HTMLdir [template [variable=value ...]]

DESCRIPTION

pods2html finds all the .pod and .pm files in the directory tree rooted at PODdir. It translates each POD to HTML, and writes it to a parallel directory tree rooted at HTMLdir

It makes the HTML files world-readable.

If a template file is provided, then template will be filled in by the Text::Template module and written to dest. Here is a minimal template, showing all the variables that are set by pods2html.

<html>
 <head>
  <base href="{$base}">
  <link href="{$css}" rel="stylesheet" type="text/css">
  <title>{$title}</title>
 </head>
 <body bgcolor="{$bgcolor}" text="{$text}">
  {$toc}
  {$body}
 </body>
</html>

If the --variables option is provided, then the file values.pl will be executed with a do call before the template is filled in. values.pl may contain arbitrary Perl code. The program fragments in the template are evaulted in the Pod::Tree::HTML package. Any variables that values.pl sets in this package will be available to the template.

Additional scalar variables may be set on the command line with the variable=value syntax. Variables set on the command line override variables set in values.pl.

OPTIONS

--base url

Specifies a base URL for HTML links.

--css url

Specifies a Cascanding Style Sheet for the generated HTML pages. Here are example rules for all the different HTML elements that may appear in a POD.

a:link { background: #ff8080 }
body   { background: #f0f0f0 }
code   { background: #c0ffc0 }
dd     { background: #ffffe0 }
dl     { background: #fffff0 }
dt     { background: #ffffc0 }
h1     { background: #ffc0c0 }
h2     { background: #ffe0e0 }
hr     { background: #ff0000; height: 5px }
i      { background: #ffc0c0 }
li     { background: #e0e0e0 }
ol     { background: #fff0ff }
p      { background: #f0f0ff }
pre    { background: #f0fff0 }
ul     { background: #f0ffff }
--empty

Creates HTML files for empty PODs. If this option is not provided, then no HTML file is created for empty PODs.

--index title

Writes an index of all the HTML files to HTMLDir/index.html. title is used as the title of the index page.

--module

Ignores files in directories named t/ and blib/. Useful for translating PODs in a module development directory.

--[no]toc

Includes or omits the table of contents. Default is to include the TOC.

--hr level

Controls the profusion of horizontal lines in the output, as follows:

level   horizontal lines
0 	    none
1 	    between TOC and body
2 	    after each =head1
3 	    after each =head1 and =head2

Default is level 1.

--bgcolor #rrggbb

Set the background color to #rrggbb. Default is white.

--text #rrggbb

Set the text color to #rrggbb. Default is black.

REQUIRES

Pod::Tree::HTML, HTML::Stream

BUGS

The recursion check doesn't work on Win32. This means that the program will enter an infinite recursion if HTMLdir is a subdirectory of PODdir.

SEE ALSO

pod2html, Pod::Tree::HTML

AUTHOR

Steven McDougall, <swmcd@world.std.com>

COPYRIGHT

Copyright (c) 1999-2010 by Steven McDougall. This program is free software; you can redistribute it and/or modify it under the same terms as Perl.