/usr/bin/podtree2html is in libpod-tree-perl 1.25-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | #!/usr/bin/perl
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; # not running under some shell
use strict;
use warnings;
use Getopt::Long;
use Pod::Tree::HTML;
my %Options;
$Options{toc} = 1;
my $ok = GetOptions( \%Options, "base:s", "css:s", "toc!", "hr:i", "bgcolor:s", "text:s", "variables:s" );
$ok or die "Bad command line options\n";
umask 0022;
@ARGV < 2 and die "podtree2html PODfile HTMLfile [templateFile]\n";
my ( $source, $dest, $template, @variables ) = @ARGV;
my $html = Pod::Tree::HTML->new( $source, $dest );
$html->set_options(%Options);
do $Options{variables} if $Options{variables};
for (@variables) {
chomp;
my ( $name, $value ) = split /=/, $_, 2;
$name =~ s(^\$)();
${ $Pod::Tree::HTML::{$name} } = $value;
}
$html->translate($template);
__END__
=head1 NAME
podtree2html - translate a POD to HTML
=head1 SYNOPSIS
C<podtree2html>
[C<--base> I<url>]
[C<--css> I<url>]
[C<-->[C<no>]C<toc>] [C<--hr> I<level>]
[C<--bgcolor> I<#rrggbb>] [C<--text> I<#rrggbb>]
[C<--variables> I<values.pl>]
F<source> F<dest> [F<template>] [I<variable>=I<value> ...]]
=head1 DESCRIPTION
C<podtree2html> reads the POD in file F<source>,
translates it to HTML,
and writes it to file F<dest>.
F<dest> is created world-readable.
If a F<template> file is provided,
then F<template> will be filled in by the C<Text::Template> module and written to F<dest>.
Here is a minimal template, showing all the variables that are set by C<podtree2html>.
<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 C<--variables> option is provided, then the file I<values.pl> will be executed with a C<do>
call before the template is filled in. I<values.pl> may contain arbitrary Perl code.
The program fragments in the template are evaulted in the C<Pod::Tree::HTML> package.
Any variables that I<values.pl> sets in this package will be available to the template.
Additional scalar variables may be set on the command line with the I<variable>=I<value> syntax.
Do not prefix I<variable> with a C<$> sigil.
Variables set on the command line override variables set in I<values.pl>.
=head1 OPTIONS
=over 4
=item C<--base> I<url>
Translate C<LE<lt>E<gt>> sequences into HTML
links relative to I<url>.
=item C<--css> I<url>
Specifies a Cascanding Style Sheet for the generated HTML page.
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 }
=item C<-->[C<no>]C<toc>
Includes or omits the table of contents.
Default is to include the TOC.
=item C<--hr> I<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.
=item C<--bgcolor> I<#rrggbb>
Set the background color to I<#rrggbb>.
Default is white.
=item C<--text> I<#rrggbb>
Set the text color to I<#rrggbb>.
Default is black.
=item C<--variables> I<values.pl>
Execute the file I<values.pl> with a C<do> call before filling in I<template>.
I<values.pl> may contain arbitrary Perl code.
=back
=head1 REQUIRES
L<C<Pod::Tree::HTML>>
=head1 SEE ALSO
L<C<pods2html>>, L<C<Pod::Tree::HTML>>
=head1 AUTHOR
Steven McDougall, <swmcd@world.std.com>
=head1 COPYRIGHT
Copyright (c) 1999-2007 by Steven McDougall. This program is free software;
you can redistribute it and/or modify it under the same terms as Perl.
|