To be at least a bit useful during my sick days I've tried the module dada showed me some time ago - Pod::ProjectDocs. The result is that there are now Pods per Project in browsable (html) form per each project.
How did I do?
First I've checked-out an empty svn folder "trunks" which I gave "svn:externals" propertie where there was one project per line like:
project-name1 svn+ssh://path/to/project1/trunk
project-name2 svn+ssh://path/to/project3/trunk
project-name3 svn+ssh://path/to/project3/trunk
Then one `svn up` in that folder checked-out all our projects and will update them easyly in the future. Then just using this short script:#!/bin/bash -x
cd trunks
for F in *; do
if [ -d $F/lib ]; then
pod2projdocs -title $F -desc $F -o ../docs/$F -l $F/lib
fi
done
I've filled folder called "docs" with all the Pods from those projects.
Pod::ProjectDocs is nice as it creates a JS search in index.html of the project documentation to filter out just wanted modules. In every single Pod next to the function describing text there is a link "source" that uses JS to show hide functions source code. Quite handy.
Pod::ProjectDocs generates static html documentation. No need to run CGIs. If someone doesn't mind then I recommend to try Pod::POM::Web which is rich on functionality. Using CPAN::Mini+CPAN::Mini::Inject+CPAN::Mini::Webserver is also an option. TIMTOWTDI :-)
For another take on Perl docs: Pod::Classdoc
For an example of Pod::Classdoc output: Thread::Sociable