NAME
Pod::Browser - Pod Web Server based on Catalyst and ExtJS
SYNOPSIS
# pod_browser_server.pl
visit http://localhost:3030
DESCRIPTION
This is a Catalyst server which serves PODs. It allows you to browse through your local repository of modules. On the front page is a search box which uses CPAN's xml interface to retrieve the results. If you click on one of them the POD is displayed in this application.
Cross links in PODs are resolved and pop up as a new tab. If the module you clicked on is not installed this controller fetches the source code from CPAN and creates the pod locally. There is also a TOC which is always visible and scrolls the current POD to the selected section.
It is written using a JavaScript framework called ExtJS (http://www.extjs.com) which generate beautiful and intuitive interfaces.
Have a look at http://cpan.org/authors/id/P/PE/PERLER/pod-images/pod-encyclopedia-01.png
NOTICE
This is the second release. There are probably a lot of bugs.
CONFIGURATION
First you have to locate the config file. Try
# locate pod_browser.yml
in your command line and open it.
- inc (Boolean)
-
Search for modules in @INC. Set it to 1 or 0.
Defaults to
0
. - namespaces (Arrayref)
-
Filter by namespaces. See Pod::Simple::Search
limit_glob
for syntax.Defaults to
["*"]
- self (Boolean)
-
Search for modules in
$c->path_to( 'lib' )
.Defaults to
1
. - dirs (Arrayref)
-
Search for modules in these directories.
Defaults to
[]
.
STARTING THE SERVER
The server backend is a Catalyst application which gives you the choice how you want to run the server.
Catalyst Development Server
The easiest way might be to start the server by running pod_browser_server.pl
This is the Catalyst development server but should be suffient for testing or usage by a limited number of users.
FastCGI
For better performance you can chose the FastCGI server. See "FastCGI Deployment" in Catalyst::Manual::Cookbook on how to set this up.
More Engines
There are many more Catalyst engines avaiable. Another interesting Engine might be Catalyst::Engine::Apache2. Check out the Catalyst::Engine namespace and see "Deployment" in Catalyst::Manual::Cookbook.
BUGS
Jump to sections
There are some names of sections in some Pods which include special characters. There are still some problems with them. It would be helpful if you report these Pods so I can work around these cases.
INTEGRATION IN CATALYST
If you want to integrate this application directly into your catalyst application have a look at Catalyst::Controller::POD. This controller is used by this application.
SEE ALSO
Catalyst, Catalyst::Controller::POD
ExtJS (http://www.extjs.com) is used for the user interface.
Other Pod Web Servers:
Pod::Server, Pod::Webserver, Pod::POM::Web
AUTHOR
Moritz Onken
LICENSE
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.