NAME
Mojolicious::Plugin::PODViewer - POD renderer plugin
VERSION
version 0.007
SYNOPSIS
# Mojolicious (with documentation browser under "/perldoc")
my $route = $app->plugin('PODViewer');
my $route = $app->plugin(PODViewer => {name => 'foo'});
my $route = $app->plugin(PODViewer => {preprocess => 'epl'});
# Mojolicious::Lite (with documentation browser under "/perldoc")
my $route = plugin 'PODViewer';
my $route = plugin PODViewer => {name => 'foo'};
my $route = plugin PODViewer => {preprocess => 'epl'};
# Without documentation browser
plugin PODViewer => {no_perldoc => 1};
# foo.html.ep
%= pod_to_html "=head1 TEST\n\nC<123>"
# foo.html.pod
=head1 <%= uc 'test' %>
DESCRIPTION
Mojolicious::Plugin::PODViewer is a renderer for Perl's POD (Plain Old Documentation) format. It includes a browser to browse the Perl module documentation as a website.
This is a fork of the (deprecated) Mojolicious::Plugin::PODRenderer.
OPTIONS
Mojolicious::Plugin::PODViewer supports the following options.
name
# Mojolicious::Lite
plugin PODViewer => {name => 'foo'};
Handler name, defaults to pod
.
route
The route to add documentation to. Defaults to $app->routes->any('/perldoc')
. The new route will have a name of plugin.podviewer
.
default_module
The default module to show. Defaults to Mojolicious::Guides
.
allow_modules
An arrayref of regular expressions that match modules to allow. At least one of the regular expressions must match. Disallowed modules will be redirected to the appropriate page on http://metacpan.org.
layout
The layout to use. Defaults to podviewer
.
no_perldoc
# Mojolicious::Lite
plugin PODViewer => {no_perldoc => 1};
Disable Mojolicious::Guides documentation browser that will otherwise be available under /perldoc
.
preprocess
# Mojolicious::Lite
plugin PODViewer => {preprocess => 'epl'};
Name of handler used to preprocess POD, defaults to ep
.
HELPERS
Mojolicious::Plugin::PODViewer implements the following helpers.
pod_to_html
%= pod_to_html '=head2 lalala'
<%= pod_to_html begin %>=head2 lalala<% end %>
Render POD to HTML without preprocessing.
TEMPLATES
Mojolicious::Plugin::PODViewer bundles the following templates. To override this template with your own, create a template with the same name.
podviewer/perldoc.html.ep
This template displays the POD for a module. The HTML for the documentation is in the perldoc
content section (<%= content 'perldoc' %>
). The template has the following stash values:
- module
-
The current module, with parts separated by
/
. - cpan
-
A link to http://metacpan.org for the current module.
- topics
-
An array of arrays of topics in the documentation. Each inner array is a set of pairs of
link text
andlink href
suitable to be passed directly to thelink_to
helper. New topics are started by a=head1
tag, and include all lower-level headings.
layouts/podviewer.html.ep
The layout for rendering POD pages. Use this to add stylesheets, JavaScript, and additional navigation. Set the layout
option to change this template.
METHODS
Mojolicious::Plugin::PODViewer inherits all methods from Mojolicious::Plugin and implements the following new ones.
register
my $route = $plugin->register(Mojolicious->new);
my $route = $plugin->register(Mojolicious->new, {name => 'foo'});
Register renderer and helper in Mojolicious application.
SEE ALSO
Mojolicious, Mojolicious::Guides, https://mojolicious.org.
AUTHORS
Sebastian Riedel <kraih@mojolicious.org>
Doug Bell <preaction@cpan.org>
CONTRIBUTORS
brad <brad@clickmagick.com>
CandyAngel <candyangel@electricjungle.org>
Luc Didry <luc@didry.org>
Oleg <verdrehung@gmail.com>
Tekki <tekki@tekki.ch>
Zoffix Znet <cpan@zoffix.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2018 by Sebastian Riedel, Doug Bell.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.