Internal Perldoc

jozef on 2009-01-29T18:33:37

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 :-)


Have you considered...

renodino on 2009-01-30T01:16:21

Warning: Shameless self-promotion ahead

For another take on Perl docs: Pod::Classdoc

For an example of Pod::Classdoc output: Thread::Sociable