source: trunk/third/perl/pod/pod2html.PL @ 14545

Revision 14545, 3.5 KB checked in by ghudson, 25 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14544, which included commits to RCS files with non-trunk default branches.
Line 
1#!/usr/local/bin/perl
2
3use Config;
4use File::Basename qw(&basename &dirname);
5use Cwd;
6
7# List explicitly here the variables you want Configure to
8# generate.  Metaconfig only looks for shell variables, so you
9# have to mention them as if they were shell variables, not
10# %Config entries.  Thus you write
11#  $startperl
12# to ensure Configure will look for $Config{startperl}.
13
14# This forces PL files to create target in same directory as PL file.
15# This is so that make depend always knows where to find PL derivatives.
16$origdir = cwd;
17chdir dirname($0);
18$file = basename($0, '.PL');
19$file .= '.com' if $^O eq 'VMS';
20
21open OUT,">$file" or die "Can't create $file: $!";
22
23print "Extracting $file (with variable substitutions)\n";
24
25# In this section, perl variables will be expanded during extraction.
26# You can use $Config{...} to use Configure variables.
27
28print OUT <<"!GROK!THIS!";
29$Config{startperl}
30    eval 'exec $Config{perlpath} -S \$0 \${1+"\$@"}'
31        if \$running_under_some_shell;
32!GROK!THIS!
33
34# In the following, perl variables are not expanded during extraction.
35
36print OUT <<'!NO!SUBS!';
37=pod
38
39=head1 NAME
40
41pod2html - convert .pod files to .html files
42
43=head1 SYNOPSIS
44
45    pod2html --help --htmlroot=<name> --infile=<name> --outfile=<name>
46             --podpath=<name>:...:<name> --podroot=<name>
47             --libpods=<name>:...:<name> --recurse --norecurse --verbose
48             --index --noindex --title=<name>
49
50=head1 DESCRIPTION
51
52Converts files from pod format (see L<perlpod>) to HTML format.
53
54=head1 ARGUMENTS
55
56pod2html takes the following arguments:
57
58=over 4
59
60=item help
61
62  --help
63
64Displays the usage message.
65
66=item htmlroot
67
68  --htmlroot=name
69
70Sets the base URL for the HTML files.  When cross-references are made,
71the HTML root is prepended to the URL.
72
73=item infile
74
75  --infile=name
76
77Specify the pod file to convert.  Input is taken from STDIN if no
78infile is specified.
79
80=item outfile
81
82  --outfile=name
83
84Specify the HTML file to create.  Output goes to STDOUT if no outfile
85is specified.
86
87=item podroot
88
89  --podroot=name
90
91Specify the base directory for finding library pods.
92
93=item podpath
94
95  --podpath=name:...:name
96
97Specify which subdirectories of the podroot contain pod files whose
98HTML converted forms can be linked-to in cross-references.
99
100=item libpods
101
102  --libpods=name:...:name
103
104List of page names (eg, "perlfunc") which contain linkable C<=item>s.
105
106=item netscape
107
108  --netscape
109
110Use Netscape HTML directives when applicable.
111
112=item nonetscape
113
114  --nonetscape
115
116Do not use Netscape HTML directives (default).
117
118=item index
119
120  --index
121
122Generate an index at the top of the HTML file (default behaviour).
123
124=item noindex
125
126  --noindex
127
128Do not generate an index at the top of the HTML file.
129
130
131=item recurse
132
133  --recurse
134
135Recurse into subdirectories specified in podpath (default behaviour).
136
137=item norecurse
138
139  --norecurse
140
141Do not recurse into subdirectories specified in podpath.
142
143=item title
144
145  --title=title
146
147Specify the title of the resulting HTML file.
148
149=item verbose
150
151  --verbose
152
153Display progress messages.
154
155=back
156
157=head1 AUTHOR
158
159Tom Christiansen, E<lt>tchrist@perl.comE<gt>.
160
161=head1 BUGS
162
163See L<Pod::Html> for a list of known bugs in the translator.
164
165=head1 SEE ALSO
166
167L<perlpod>, L<Pod::Html>
168
169=head1 COPYRIGHT
170
171This program is distributed under the Artistic License.
172
173=cut
174
175use Pod::Html;
176
177pod2html @ARGV;
178!NO!SUBS!
179
180close OUT or die "Can't close $file: $!";
181chmod 0755, $file or die "Can't reset permissions for $file: $!\n";
182exec("$Config{'eunicefix'} $file") if $Config{'eunicefix'} ne ':';
183chdir $origdir;
Note: See TracBrowser for help on using the repository browser.