I would like to generate documentation in a Dancer
application in the same way that Mojolicious
does with Mojolicious::Plugin::PODRenderer
, I mean in the browser, under the /perldoc
path.
Does somebody knows a module that can help? I found no ready-made plugin for Dancer
. If it don't exist, any recommandation is welcome.
Porting Mojolicious' PODRenderer to Dancer should be fairly simple - it's an example plugin and the code is fairly short. I've done this for my own use in my CGI framework at work.
https://github.com/kraih/mojo/blob/master/lib/Mojolicious/Plugin/PODRenderer.pm#L34
Essentially what the plugin does is define the route /perldoc/:module
to call the _perldoc
method; the _perldoc
method uses Pod::Simple::Search
to find a documentation file matching the module param in the @INC
directories; If it doesn't, it redirects the search to MetaCPAN. If it does, it uses Pod::Simple::HTML
to convert the documentation to HTML, which is then tidied up with Mojo::DOM
and wrapped in a lovely template.
Finding the location of that template is left as an exercise for... oh, nevermind, here it is: https://github.com/kraih/mojo/blob/master/lib/Mojolicious/templates/perldoc.html.ep