NAME
App::Pod2CpanHtml - Convert Pod to search.cpan.org style HTML.
DESCRIPTION
This module is used for converting Pod documents to http://search.cpan.org/ style HTML.
Pod is Perl's Plain Old Documentation format, see perlpod.
App::Pod2CpanHtml
produces HTML output similar to search.cpan.org by using the same conversion module, Pod::Simple::HTML and the same CSS, http://search.cpan.org/s/style.css.
It should be noted that this utility isn't the actual program used to create the HTML for seach.cpan.org. However, the output should visually be the same.
This module comes with a pod2cpanhtml utility that will convert Pod to search.cpan.org style HTML on the command line.
SYNOPSIS
To create a simple filter to convert Pod to search.cpan.org style HTML.
#!/usr/bin/perl -w
use strict;
use App::Pod2CpanHtml;
my $parser = App::Pod2CpanHtml->new();
if (defined $ARGV[0]) {
open IN, $ARGV[0] or die "Couldn't open $ARGV[0]: $!\n";
} else {
*IN = *STDIN;
}
if (defined $ARGV[1]) {
open OUT, ">$ARGV[1]" or die "Couldn't open $ARGV[1]: $!\n";
} else {
*OUT = *STDOUT;
}
$parser->output_fh(*OUT);
$parser->parse_file(*IN);
__END__
To convert Pod to search.cpan.org style HTML using the installed pod2cpanhtml
utility:
pod2cpanhtml file.pod > file.html
METHODS
new()
The new
method is used to create a new App::Pod2CpanHtml
object.
Other methods
App::Pod2CpanHtml
inherits all of the methods of its parent modules Pod::Simple
and Pod::Simple::HTML
. See Pod::Simple for more details if you need finer control over the output of this module.
RATIONALE
This module is a very thin wrapper around Pod::Simple::HTML. I wrote the initial version is response to a question on Perlmonks http://www.perlmonks.com/?node_id=596075.
Despite its simplicity it has proved to be very useful tool for proofing Pod documentation prior to uploading to CPAN. It is also the basis of a script that I frequently copy from machine to machine and it is the answer to a question that is frequently asked on Perl forums. As such, I thought it was time to roll it into a module.
SEE ALSO
This module also installs a pod2cpanhtml command line utility. See pod2cpanhtml --help
for details.
You can render a Pod document using search.cpan's own engine at the following link: http://search.cpan.org/pod2html.
Graham Barr's patch to Pod::Simple to produce the search.cpan output: http://cpan.org/authors/id/G/GB/GBARR/search.cpan.org-Pod-Simple-HTML.patch
See Pod::ProjectDocs for generating multiple, inter-linked, search.cpan like documents
ACKNOWLEDGEMENTS
Thanks to Sean M. Burke and the past and current maintainers for Pod::Simple
.
Thanks to Graham Barr and everyone involved with http://search.cpan.org.
Thanks to Lars Dieckow for the useful links.
The initial structure of this module was created using Module::Starter, thanks to Andy Lester.
AUTHOR
John McNamara, jmcnamara@cpan.org
COPYRIGHT & LICENSE
Copyright 2009 John McNamara.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.