http://qs321.pair.com?node_id=383075


in reply to documentation generator? web-enabled perldoc?

I was just browsing kwiki.org, and ran accross pdoc. The html (colorscheme) it generates is butt ugly, but it does do the auto-cross-linking/source-including feature you want. Check it out:

UPDATE: Here's a patch for pdoc-1.0.tar.gz which will stop perlmod2www.pl from dying in the emiddle of its run.

--- Pdoc/Html/Renderers/PerlModule.pm 2004-08-15 04:47:10.359375000 + -0700 +++ pdoc-1.0/Pdoc/Html/Renderers/PerlModule.pm 2002-03-15 09:42:54. +000000000 -0800 @@ -792,7 +792,7 @@ print $fpt '<TR><TD>&nbsp;+&nbsp;<B>', $sub, '</B></T +D>'; # Got associated POD too? - if (eval{$subObj->get('pod')}) { + if ($subObj->get('pod')) { print $fpt '<TD><A HREF="#_begpod', $begPod, '">D +escription</A></TD>'; $begPod++; } else { @@ -831,7 +831,7 @@ '<TD>'; # If doc - if (eval{$sub->get('pod')}) { + if ($sub->get('pod')) { print $fpt '<A HREF="#POD', $podPos, '">Description</ +A>'; $podPos++; } else { @@ -903,7 +903,7 @@ # Write POD related to routines in BEGIN statement foreach my $sub (@{$entry->get('subroutines')}) { my $subObj = $begins->fetch('PerlSub',$sub); - my $pod = eval {$subObj->get('pod')}; + my $pod = $subObj->get('pod'); $begCode++; next if (! $pod); @@ -954,7 +954,7 @@ # Write routines doc foreach my $entry (@sorted) { my $sub = $subroutines->fetch('PerlSub', $entry); - my $pod = eval{$sub->get('pod')}; + my $pod = $sub->get('pod'); $subPos++; next if (! $pod); @@ -1053,9 +1053,9 @@ print $fpt '<TABLE BORDER="0" WIDTH="100%" CELLSPACING="0 +">', "\n", '<TR BGCOLOR="', $_config->{'subcode'}, '"><TD WIDTH="200"><A NAME="CODE', $subPos, '"></A>', - '<B>',eval{$sub->name()}||'noname', '</B></TD> +'; + '<B>', $sub->name(), '</B></TD>'; - my $pod = eval{$sub->get('pod')}; + my $pod = $sub->get('pod'); if ($pod) { print $fpt '<TD><A HREF="#POD', $podPos, '">descripti +on</A></TD>'; $podPos++; @@ -1077,7 +1077,7 @@ print $fpt '</TR></TABLE>', "\n"; # Subroutine content - print $fpt eval{$sub->converted()}, "<BR>\n"; + print $fpt $sub->converted(), "<BR>\n"; $subPos++; }

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.

Replies are listed 'Best First'.
Re: pdoc - kind of like doxygen
by Anonymous Monk on Feb 29, 2008 at 05:28 UTC
    Hi, The latest version of Pdoc is actually available on the SourceForge CVS repository: http://sourceforge.net/cvs/?group_id=42096 Checkout the pdoc-live module and use the pdoc-live/scripts/perlmod2www.pl script. Example of application: http://doc.bioperl.org/releases/bioperl-1.5.2/ I need to find some time to update the web site and the SF project. Hopefully soon... Cheers, Raphael