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.

   Mojolicious helpers and 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. See
   Mojolicious::Plugin::DefaultHelpers and Mojolicious::Plugin::TagHelpers
   for a list of all built-in helpers.

    $c->stash(description => 'template engine');
    $c->stash(engines => [qw(Template::Toolkit Text::Template)]);

    [% FOREACH engine IN engines %]
      [% engine %] is a [% description %].
    [% END %]

    [% link_to('Template Toolkit', 'http://www.template-toolkit.org') %]

    [% c.param('foo') %]

   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.

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.

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 <[email protected]>

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