, Verbatim text
maps to (Computerese defaults to "")
$Pod::Simple::HTML::Computerese = ' class="some_class_name';
html_css
html_javascript
title_prefix
title_postfix
html_header_before_title
This includes everything before the opening tag including the
Document type and including the opening tag. The following call
will set it to be a simple HTML file:
$p->html_header_before_title('');
top_anchor
By default Pod::Simple::HTML adds a dummy anchor at the top of the
HTML. You can change it by calling
$p->top_anchor('');
html_h_level
Normally =head1 will become , =head2 will become etc. Using
the html_h_level method will change these levels setting the h level of
=head1 tags:
$p->html_h_level(3);
Will make sure that =head1 will become and =head2 will become
etc...
index
Set it to some true value if you want to have an index (in reality a
table of contents) to be added at the top of the generated HTML.
$p->index(1);
html_header_after_title
Includes the closing tag of
and through the rest of the head
till the opening of the body
$p->html_header_after_title('...');
html_footer
The very end of the document:
$p->html_footer( qq[\n\n\n\n] );
SUBCLASSING
Can use any of the methods described above but for further
customization one needs to override some of the methods:
package My::Pod;
use strict;
use warnings;
use base 'Pod::Simple::HTML';
# needs to return a URL string such
# http://some.other.com/page.html
# #anchor_in_the_same_file
# /internal/ref.html
sub do_pod_link {
# My::Pod object and Pod::Simple::PullParserStartToken object
my ($self, $link) = @_;
say $link->tagname; # will be L for links
say $link->attr('to'); #
say $link->attr('type'); # will be 'pod' always
say $link->attr('section');
# Links local to our web site
if ($link->tagname eq 'L' and $link->attr('type') eq 'pod') {
my $to = $link->attr('to');
if ($to =~ /^Padre::/) {
$to =~ s{::}{/}g;
return "/docs/Padre/$to.html";
}
}
# all other links are generated by the parent class
my $ret = $self->SUPER::do_pod_link($link);
return $ret;
}
1;
Meanwhile in script.pl:
use My::Pod;
my $p = My::Pod->new;
my $html;
$p->output_string(\$html);
$p->parse_file('path/to/Module/Name.pm');
open my $out, '>', 'out.html' or die;
print $out $html;
TODO
maybe override do_beginning do_end
SEE ALSO
Pod::Simple, Pod::Simple::HTMLBatch
TODO: a corpus of sample Pod input and HTML output? Or common idioms?
SUPPORT
Questions or discussion about POD and Pod::Simple should be sent to the
pod-people@perl.org mail list. Send an empty email to
pod-people-subscribe@perl.org to subscribe.
This module is managed in an open GitHub repository,
. Feel free to fork and
contribute, or to clone and
send patches!
Patches against Pod::Simple are welcome. Please send bug reports to
.
COPYRIGHT AND DISCLAIMERS
Copyright (c) 2002-2004 Sean M. Burke.
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
This program is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of
merchantability or fitness for a particular purpose.
ACKNOWLEDGEMENTS
Thanks to Hurricane Electric for permission to use its
Linux man pages online site for man page links.
Thanks to search.cpan.org for permission to
use the site for Perl module links.
AUTHOR
Pod::Simple was created by Sean M. Burke . But don't
bother him, he's retired.
Pod::Simple is maintained by:
o Allison Randal "allison@perl.org"
o Hans Dieter Pearcey "hdp@cpan.org"
o David E. Wheeler "dwheeler@cpan.org"
perl v5.38.2 2024-02-11 Pod::Simple::HTML(3perl)