Catalyst::Controller::POD - Serves PODs right from your Catalyst application


Catalyst-Controller-POD documentation  | view source Contained in the Catalyst-Controller-POD distribution.

Index


NAME

Top

Catalyst::Controller::POD - Serves PODs right from your Catalyst application

SYNOPSIS

Top

Create a new controller and paste this code:

  package MyApp::Controller::YourNewController;  # <-- Change this to your controller

  use strict;
  use warnings;
  use base 'Catalyst::Controller::POD';
  __PACKAGE__->config(
    inc        => 1,
    namespaces => [qw(Catalyst::Manual*)],
    self       => 1,
    dirs       => [qw()]
  );
  1;

DESCRIPTION

Top

This is a catalyst controller which serves PODs. It allows you to browse through your local repository of modules. On the front page of this controller 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

CONFIGURATION

Top

dirs (Arrayref)

Search for modules in these directories.

Defaults to [].

expanded_module_tree (Boolean)

Expand the module browser tree on initial page load.

Defaults to 1

home_tab_content (String)

HTML to be displayed in the Home tab.

Defaults to the existing CPAN search box.

inc (Boolean)

Search for modules in @INC. Set it to 1 or 0.

Defaults to 0.

initial_module (String)

If this option is specified, a tab displaying the perldoc for the given module will be opened on load. Handy if you wish to disable the home tab and specify a specific module's perldoc as the initial page a user sees.

Defaults to ""

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.

show_home_tab (Boolean)

Show or hide the home tab.

Defaults to 1

NOTICE

Top

This module works fine for most PODs but there are a few which do not get rendered properly. Please report any bug you find. See BUGS.

Have a look at Pod::Browser which is a catalyst application running this controller. You can use it as a stand-alone POD server.

TODO

Top

Write more tests!

AUTHOR

Top

Moritz Onken <onken@netcubed.de>

CONTRIBUTORS

Top

Tristan Pratt

BUGS

Top

Please report any bugs or feature requests to bug-catalyst-controller-pod at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Catalyst-Controller-POD. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

Top

You can find documentation for this module with the perldoc command.

    perldoc Catalyst::Controller::POD




You can also look for information at:

* RT: CPAN's request tracker

http://rt.cpan.org/NoAuth/Bugs.html?Dist=Catalyst-Controller-POD

* AnnoCPAN: Annotated CPAN documentation

http://annocpan.org/dist/Catalyst-Controller-POD

* CPAN Ratings

http://cpanratings.perl.org/d/Catalyst-Controller-POD

* Search CPAN

http://search.cpan.org/dist/Catalyst-Controller-POD

ACKNOWLEDGEMENTS

Top

COPYRIGHT & LICENSE

Top


Catalyst-Controller-POD documentation  | view source Contained in the Catalyst-Controller-POD distribution.