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. go back to index 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' %]

Welcome to the Mojolicious real-time web framework!

Welcome to the TtRenderer plugin!

[% END %] @@ layouts/default.html.tt [% title %] [% content %] 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' %]

[% message %]

This page was generated from the template "templates/example/welcome.html.tt" and the layout "templates/layouts/default.html.tt", click here to reload the page or here to move forward to a static page. [% END %] templates/layouts/default.html.tt: [% title %] [% content %] 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 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.