| Perldoc-Server documentation | Contained in the Perldoc-Server distribution. |
Perldoc::Server - Local Perl documentation server
perldoc-server [options] Options: --perl /path/to/perl Show documentation for this Perl installation --port 1234 Set server port number --public Run as a public server (defaults to private) --help Display help
Perldoc::Server is a Catalyst application to serve local Perl documentation in the same style as http://perldoc.perl.org.
In addition to keeping the same look and feel of http://perldoc.perl.org, Perldoc::Server offer the following features:
use and require statements linked to modulesBy default, Perldoc::Server will show documentation for the Perl installation used to run the server.
However, using the --perl command-line option, it is also possible to
serve documentation for a different Perl installation, e.g.
perldoc-server --perl /usr/bin/perl
Note that while Perldoc::Server requires Perl 5.10.0 or newer, the --perl
option can be used to display documentation for older Perls.
Sets the server's port number - defaults to 7375 ("PERL" on a phone keypad).
Runs as a public server. If this option is not set, the server will default to private mode, i.e. only accepting connections from localhost.
http://perl.jonallen.info/projects/perldoc
Penny's Arcade Open Source - http://www.pennysarcade.co.uk/opensource
Jon Allen (JJ) <jj@jonallen.info>
Perldoc::Server was developed at the 2009 QA Hackathon http://qa-hackathon.org supported by Birmingham Perl Mongers http://birmingham.pm.org
Thanks to Andreas Koenig and Barbie for help in rendering Unicode characters in Pod.
Thanks to Varyanick I. Alex for bugfix patches for RT tickets #49486, #49488, #49491, and #49492.
Copyright (C) 2009 Penny's Arcade Limited - http://www.pennysarcade.co.uk
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
| Perldoc-Server documentation | Contained in the Perldoc-Server distribution. |
package Perldoc::Server; use strict; use warnings; use 5.010; use Catalyst::Runtime '5.70'; use Sys::Hostname; use Config::General; use NEXT; # Set flags and add plugins for the application # # -Debug: activates the debug mode for very useful log messages # ConfigLoader: will load the configuration from a Config::General file in the # application's home directory # Static::Simple: will serve static files from the application's root # directory use parent qw/Catalyst/; use Catalyst qw/ ConfigLoader Session Session::State::Cookie Session::Store::File Static::Simple/; our $VERSION = '0.09'; # Configure the application. # # Note that settings in perldoc_server.conf (or other external # configuration file that you set up manually) take precedence # over this when using ConfigLoader. Thus configuration # details given here can function as a default configuration, # with an external configuration file acting as an override for # local deployment. my $host = (split('\.',hostname))[0]; __PACKAGE__->config( name => 'Perldoc::Server', version => $VERSION, host => $host, perl => $ENV{PERLDOC_SERVER_PERL} || $^X, perl_version => $ENV{PERLDOC_SERVER_PERL_VERSION} || sprintf("%vd",$^V), search_path => $ENV{PERLDOC_SERVER_SEARCH_PATH} ? [split /\r\n|\n/,$ENV{PERLDOC_SERVER_SEARCH_PATH}] : \@INC, 'View::TT' => { INCLUDE_PATH => __PACKAGE__->path_to('root','templates')}, 'View::Pod2HTML' => { INCLUDE_PATH => __PACKAGE__->path_to('root','templates')}, ); # Set default view to TT __PACKAGE__->config->{default_view} = 'TT'; # Configure default session expiry time __PACKAGE__->config->{'session'} = { expires => 30*24*60*60 # 30 days }; # Start the application __PACKAGE__->setup();
1;