---
name: "pods2html"
section: "1p"
platform: "linux"
package: "libpod-tree-perl"
version: "1.31-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pods2html"
---

# pods2html(1p)

translate a tree of PODs to HTML

## 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.
