NAME

    Mojolicious::Plugin::TemplateToolkit - Template Toolkit renderer plugin
    for Mojolicious

SYNOPSIS

     # Mojolicious
     $app->plugin('TemplateToolkit');
     $app->plugin(TemplateToolkit => {name => 'foo'});
     $app->plugin(TemplateToolkit => {template => {INTERPOLATE => 1}});
     
     # Mojolicious::Lite
     plugin 'TemplateToolkit';
     plugin TemplateToolkit => {name => 'foo'};
     plugin TemplateToolkit => {template => {INTERPOLATE => 1}});
     
     # Set as default handler
     $app->renderer->default_handler('tt2');
     
     # Render without setting as default handler
     $c->render(template => 'bar', handler => 'tt2');

DESCRIPTION

    Mojolicious::Plugin::TemplateToolkit is a renderer for tt2 or Template
    Toolkit templates. See Template and Template::Manual for details on the
    Template Toolkit format, and Mojolicious::Guides::Rendering for general
    information on rendering in Mojolicious.

    Along with standard template files, inline and data section templates
    can be rendered in the standard way. Template files and data sections
    will be retrieved using Mojolicious::Renderer via
    Template::Provider::Mojo for both standard rendering and directives
    such as INCLUDE. This means that instead of specifying INCLUDE_PATH,
    you should set "paths" in Mojolicious::Renderer to the appropriate
    paths.

     $app->renderer->paths(['/path/to/templates']);
     push @{$app->renderer->paths}, '/path/to/more/templates';

    Mojolicious stash values will be exposed directly as variables in the
    templates, and the current controller object will be available as c or
    self, similar to Mojolicious::Plugin::EPRenderer. Helper methods can be
    called on the controller object directly or via the helpers method. See
    Mojolicious::Plugin::DefaultHelpers and Mojolicious::Plugin::TagHelpers
    for a list of all built-in helpers.

    Accessing helper methods directly as variables rather than via the
    controller object is deprecated and may be removed in a future release.

     $c->stash(description => 'template engine');
     $c->stash(engines => [qw(Template::Toolkit Text::Template)]);
     
     [% FOREACH engine IN engines %]
       [% engine %] is a [% description %].
     [% END %]
     
     [% c.helpers.link_to('Template Toolkit', 'http://www.template-toolkit.org') %]
     
     [% c.param('foo') %]

OPTIONS

    Mojolicious::Plugin::TemplateToolkit supports the following options.

 name

     # Mojolicious::Lite
     plugin TemplateToolkit => {name => 'foo'};

    Handler name, defaults to tt2.

 template

     # Mojolicious::Lite
     plugin TemplateToolkit => {template => {INTERPOLATE => 1}};

    Configuration values passed to Template object used to render
    templates. Note that Template::Provider::Mojo will use "paths" in
    Mojolicious::Renderer to find templates, not INCLUDE_PATH specified
    here.

METHODS

    Mojolicious::Plugin::TemplateToolkit inherits all methods from
    Mojolicious::Plugin and implements the following new ones.

 register

     $plugin->register(Mojolicious->new);
     $plugin->register(Mojolicious->new, {name => 'foo'});

    Register renderer in Mojolicious application.

BUGS

    Report any issues on the public bugtracker.

AUTHOR

    Dan Book <dbook@cpan.org>

COPYRIGHT AND LICENSE

    This software is Copyright (c) 2015 by Dan Book.

    This is free software, licensed under:

      The Artistic License 2.0 (GPL Compatible)

SEE ALSO

    Mojolicious::Renderer, Template, Template::Provider::Mojo

