GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Mojolicious::Plugin::TtRenderer(3) User Contributed Perl Documentation Mojolicious::Plugin::TtRenderer(3)

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

version 1.62

Mojolicious::Lite:

 plugin 'tt_renderer';

Mojolicious:

 $self->plugin('tt_renderer');

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.

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

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)

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").

Helpers are available via the "h" entry in the stash.

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

The current controller instance can be accessed as "c".

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

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.

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

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)

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.

2021-03-15 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.