Mojolicious::Plugin::PODViewer - POD renderer plugin
version 0.007
# 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' %>
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.
Mojolicious::Plugin::PODViewer supports the following options.
# Mojolicious::Lite
plugin PODViewer => {name => 'foo'};
Handler name, defaults to pod
.
The route to add documentation to. Defaults to
$app->routes->any('/perldoc')
. The new route will have a name of
plugin.podviewer
.
The default module to show. Defaults to Mojolicious::Guides
.
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.
The layout to use. Defaults to podviewer
.
# Mojolicious::Lite
plugin PODViewer => {no_perldoc => 1};
Disable Mojolicious::Guides documentation browser that will otherwise be
available under /perldoc
.
# Mojolicious::Lite
plugin PODViewer => {preprocess => 'epl'};
Name of handler used to preprocess POD, defaults to ep
.
Mojolicious::Plugin::PODViewer implements the following helpers.
%= pod_to_html '=head2 lalala'
<%= pod_to_html begin %>=head2 lalala<% end %>
Render POD to HTML without preprocessing.
Mojolicious::Plugin::PODViewer bundles the following templates. To override this template with your own, create a template with the same name.
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.
The layout for rendering POD pages. Use this to add stylesheets,
JavaScript, and additional navigation. Set the layout
option to
change this template.
Mojolicious::Plugin::PODViewer inherits all methods from Mojolicious::Plugin and implements the following new ones.
my $route = $plugin->register(Mojolicious->new);
my $route = $plugin->register(Mojolicious->new, {name => 'foo'});
Register renderer and helper in Mojolicious application.
Mojolicious, Mojolicious::Guides, https://mojolicious.org.
- Sebastian Riedel kraih@mojolicious.org
- Doug Bell preaction@cpan.org
- 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
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.