Provided by: libmojolicious-perl_4.63+dfsg-1_all bug

NAME

       Mojolicious::Renderer - Generate dynamic content

SYNOPSIS

         use Mojolicious::Renderer;

         my $renderer = Mojolicious::Renderer->new;
         push @{$renderer->classes}, 'MyApp::Foo';
         push @{renderer->paths}, '/home/sri/templates';

DESCRIPTION

       Mojolicious::Renderer is the standard Mojolicious renderer.

       See Mojolicious::Guides::Rendering for more.

ATTRIBUTES

       Mojolicious::Renderer implements the following attributes.

   cache
         my $cache = $renderer->cache;
         $renderer = $renderer->cache(Mojo::Cache->new);

       Renderer cache, defaults to a Mojo::Cache object.

   classes
         my $classes = $renderer->classes;
         $renderer   = $renderer->classes(['main']);

       Classes to use for finding templates in "DATA" sections, first one has the highest
       precedence, defaults to "main".

         # Add another class with templates in DATA section
         push @{$renderer->classes}, 'Mojolicious::Plugin::Fun';

   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.

   default_handler
         my $default = $renderer->default_handler;
         $renderer   = $renderer->default_handler('ep');

       The default template handler to use for rendering in cases where auto detection doesn't
       work, like for "inline" templates.

   encoding
         my $encoding = $renderer->encoding;
         $renderer    = $renderer->encoding('koi8-r');

       Will encode generated content if set, defaults to "UTF-8". Note that many renderers such
       as Mojolicious::Plugin::EPRenderer also use this value to determine if template files
       should be decoded before processing.

   handlers
         my $handlers = $renderer->handlers;
         $renderer    = $renderer->handlers({epl => sub {...}});

       Registered handlers, by default only "data", "text" and "json" are already defined.

   helpers
         my $helpers = $renderer->helpers;
         $renderer   = $renderer->helpers({url_for => sub {...}});

       Registered helpers.

   paths
         my $paths = $renderer->paths;
         $renderer = $renderer->paths(['/home/sri/templates']);

       Directories to look for templates in, first one has the highest precedence.

         # Add another "templates" directory
         push @{$renderer->paths}, '/home/sri/templates';

METHODS

       Mojolicious::Renderer inherits all methods from Mojo::Base and implements the following
       new ones.

   add_handler
         $renderer = $renderer->add_handler(epl => sub {...});

       Register a new handler.

   add_helper
         $renderer = $renderer->add_helper(url_for => sub {...});

       Register a new helper.

   get_data_template
         my $template = $renderer->get_data_template({
           template       => 'foo/bar',
           format         => 'html',
           handler        => 'epl'
         });

       Get a "DATA" section template by name, usually used by handlers.

   render
         my ($output, $format) = $renderer->render(Mojolicious::Controller->new);
         my ($output, $format) = $renderer->render(Mojolicious::Controller->new, {
           template => 'foo/bar',
           foo      => 'bar'
         });

       Render output through one of the renderers. See "render" in Mojolicious::Controller for a
       more user-friendly interface.

   template_name
         my $template = $renderer->template_name({
           template => 'foo/bar',
           format   => 'html',
           handler  => 'epl'
         });

       Builds a template name based on an options hash reference with "template", "format" and
       "handler", usually used by handlers.

   template_path
         my $path = $renderer->template_path({
           template => 'foo/bar',
           format   => 'html',
           handler  => 'epl'
         });

       Builds a full template path based on an options hash reference with "template", "format"
       and "handler", usually used by handlers.

SEE ALSO

       Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.