NAME

    Mojolicious::Plugin::TtRenderer - Template Renderer Plugin for
    Mojolicious

VERSION

    version 1.62

SYNOPSIS

    Mojolicious::Lite:

     plugin 'tt_renderer';

    Mojolicious:

     $self->plugin('tt_renderer');

DESCRIPTION

    This plugin is a simple Template Toolkit renderer for Mojolicious. Its
    defaults are usually reasonable, although for finer grain detail in
    configuration you may want to use
    Mojolicious::Plugin::TtRenderer::Engine directly.

OPTIONS

    These are the options that can be passed in as arguments to this
    plugin.

 template_options

    Configuration hash passed into Template's constructor, see Template
    Toolkit's configuration summary for details. Here is an example using
    the Mojolicious::Lite form:

     plugin 'tt_renderer' => {
       template_options => {
         PRE_CHOMP => 1,
         POST_CHOMP => 1,
         TRIM => 1,
       },
     };

    Here is the same example using the full Mojolicious app form:

     package MyApp;
     
     use Mojo::Base qw( Mojolicious );
     
     sub startup {
       my($self) = @_;
     
       $self->plugin('tt_renderer' => {
         template_options => {
           PRE_CHOMP => 1,
           POST_CHOMP => 1,
           TRIM => 1,
         },
       }
     
       ...
     }

    These options will be used if you do not override them:

    INCLUDE_PATH

      Generated based on your application's renderer's configuration. It
      will include all renderer paths, in addition to search files located
      in the __DATA__ section by the usual logic used by Mojolicious.

    COMPILE_EXT

      .ttc

    UNICODE

      1 (true)

    ENCODING

      utf-87

    CACHE_SIZE

      128

    RELATIVE

      1 (true)

 cache_dir

    Specifies the directory in which compiled template files are written.
    This:

     plugin 'tt_renderer', { cache_dir => 'some/path' };

    is equivalent to

     plugin 'tt_renderer', { template_options { COMPILE_DIR => 'some/path' } };

    except in the first example relative paths are relative to the
    Mojolicious app's home directory ($app->home).

STASH

 h

    Helpers are available via the h entry in the stash.

     <a href="[% h.url_for('index') %]">go back to index</a>

 c

    The current controller instance can be accessed as c.

     I see you are requesting a document from [% c.req.headers.host %].

EXAMPLES

    Mojolicious::Lite example:

       use Mojolicious::Lite;
       
       plugin 'tt_renderer';
       
       get '/' => sub {
         my $self = shift;
         $self->render('index');
       };
       
       app->start;
       
       __DATA__
       
       @@ index.html.tt
       [%
          WRAPPER 'layouts/default.html.tt'
          title = 'Welcome'
       %]
       <p>Welcome to the Mojolicious real-time web framework!</p>
       <p>Welcome to the TtRenderer plugin!</p>
       [% END %]
       
       @@ layouts/default.html.tt
       <!DOCTYPE html>
       <html>
         <head><title>[% title %]</title></head>
         <body>[% content %]</body>
       </html>

    Mojolicious example:

      lib/MyApp.pm:

       package MyApp;
       use Mojo::Base 'Mojolicious';
       
       sub startup {
         my $self = shift;
         $self->plugin('tt_renderer');
         my $r = $self->routes;
         $r->get('/')->to('example#welcome');
       }
       
       1;

      lib/MyApp/Example.pm:

       package MyApp::Example;
       use Mojo::Base 'Mojolicious::Controller';
       
       # This action will render a template
       sub welcome {
         my $self = shift;
       
         # Render template "example/welcome.html.tt" with message
         $self->render(
           message => 'Looks like your TtRenderer is working!');
       }
       
       1;

      templates/example/welcome.html.tt:

       [%
         WRAPPER 'layouts/default.html.tt'
         title = 'Welcome'
       %]
       <h2>[% message %]</h2>
       This page was generated from the template "templates/example/welcome.html.tt"
       and the layout "templates/layouts/default.html.tt",
       <a href="[% url_for %]">click here</a> to reload the page or
       <a href="/index.html">here</a> to move forward to a static page.
       [% END %]

      templates/layouts/default.html.tt:

       <!DOCTYPE html>
       <html>
         <head><title>[% title %]</title></head>
         <body>[% content %]</body>
       </html>

    These are also included with the Mojolicious::Plugin::TtRenderer
    distribution, including the support files required for the full
    Mojolicious app example.

SEE ALSO

    Mojolicious::Plugin::TtRenderer::Engine, Mojolicious,
    Mojolicious::Guides, http://mojolicious.org.

AUTHOR

    Original author: Ask Bj繪rn Hansen

    Current maintainer: Graham Ollis <plicease@cpan.org>

    Contributors:

    vti

    Marcus Ramberg

    Matthias Bethke

    Htbaa

    Magnus Holm

    Maxim Vuets

    Rafael Kitover

    giftnuss

    Cosimo Streppone

    Fayland Lam

    Jason Crowther

    spleenjack

    �rp獺d Sz獺sz

    苤迮�迣迮邿 �㘵憶標匾請憶�

    uwisser

    Dinis Lage

    jay mortensen (GMORTEN)

    Matthew Lawrence (MATTLAW)

COPYRIGHT AND LICENSE

    This software is copyright (c) 2009-2021 by Ask Bj繪rn Hansen.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.