MojoX::Renderer - MIME Type Based Renderer
use MojoX::Renderer; my $renderer = MojoX::Renderer->new;
MojoX::Renderer is the standard Mojolicious renderer. It turns your stashed data structures into content.
MojoX::Types implements the follwing attributes.
default_format
my $default = $renderer->default_format; $renderer = $renderer->default_format('html');
The default format to render if format is not set in the stash. The renderer will use MojoX::Types to look up the content MIME type.
format
default_handler
my $default = $renderer->default_handler; $renderer = $renderer->default_handler('epl');
The default template handler to use for rendering. There are two handlers in this distribution.
Embedded Perl Lite handled by Mojolicious::Plugin::EplRenderer.
Embedded Perl Lite
Embedded Perl handled by Mojolicious::Plugin::EpRenderer.
Embedded Perl
default_status
my $default = $renderer->default_status; $renderer = $renderer->default_status(404);
The default status to set when rendering content, defaults to 200.
200
default_template_class
my $default = $renderer->default_template_class; $renderer = $renderer->default_template_class('main');
The renderer will use this class to look for templates in the __DATA__ section.
__DATA__
encoding
my $encoding = $renderer->encoding; $renderer = $renderer->encoding('koi8-r');
Will encode the content if set.
handler
my $handler = $renderer->handler; $renderer = $renderer->handler({epl => sub { ... }});
Registered handlers.
helper
my $helper = $renderer->helper; $renderer = $renderer->helper({url_for => sub { ... }});
Registered helpers.
layout_prefix
my $prefix = $renderer->layout_prefix; $renderer = $renderer->layout_prefix('layouts');
Directory to look for layouts in, defaults to layouts.
layouts
root
my $root = $renderer->root; $renderer = $renderer->root('/foo/bar/templates');
Directory to look for templates in.
types
my $types = $renderer->types; $renderer = $renderer->types(MojoX::Types->new);
MojoX::Types object to use for looking up MIME types.
MojoX::Renderer inherits all methods from Mojo::Base and implements the follwing the ones.
new
my $renderer = MojoX::Renderer->new;
Construct a new renderer.
add_handler
$renderer = $renderer->add_handler(epl => sub { ... });
Add a new handler to the renderer. See Mojolicious::Plugin::EpRenderer for a sample renderer.
add_helper
$renderer = $renderer->add_helper(url_for => sub { ... });
Add a new helper to the renderer. See Mojolicious::Plugin::EpRenderer for sample helpers.
get_inline_template
my $template = $renderer->get_inline_template($c, 'foo.html.ep');
Get an inline template by name, usually used by handlers.
render
my $success = $renderer->render($c); $c->stash->{partial} = 1; my $output = $renderer->render($c);
Render output through one of the Mojo renderers. This renderer requires some configuration, at the very least you will need to have a default format and a default handler as well as a template or text/json. See Mojolicious::Controller for a more user friendly interface.
template
text
json
template_name
my $template = $renderer->template_name({ template => 'foo/bar', format => 'html', handler => 'epl' });
Builds a template name based on an options hash with template, format and handler.
template_path
my $path = $renderer->template_path({ template => 'foo/bar', format => 'html', handler => 'epl' });
Builds a full template path based on an options hash with template, format and handler.
Mojolicious, Mojolicious::Book, http://mojolicious.org.
To install Mojolicious, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious
CPAN shell
perl -MCPAN -e shell install Mojolicious
For more information on module installation, please visit the detailed CPAN module installation guide.