Dancer2::Template::TextTemplate

- NAME
- VERSION
- SYNOPSIS
- DESCRIPTION
- METHODS
  - render( $template, \%tokens )
- AUTHOR
- COPYRIGHT AND LICENSE

# NAME

Dancer2::Template::TextTemplate - Text::Template engine for Dancer2

# VERSION

version 0.1

# SYNOPSIS

To use this engine, you may configure Dancer2 via `config.yml`:

        template: text_template

# DESCRIPTION

This is an alpha version: it basically works, but it has not been extensively tested and it misses interesting features.

This template engine allows you to use Text::Template in Dancer2.

Contrary to other template engines (like Template::Toolkit), where one instance may work on multiple templates, one Text::Template instance is created for each template. Therefore, if:

- you don't use a huge amount of different templates;
- you don't use each template just once;

then it may be interesting to cache Text::Template instances for later use. Since these conditions seem to be common, this engine uses a cache (via CHI) by default.

If you're OK with caching, you should specify a timeout (`expires`) after which cached Text::Template instances are to be refreshed, since you might have changed your template sources without restarting Dancer2. Use the value `0` to tell the engine that templates never expire.

To enable caching in your `config.yml`:

        template: text_template
        engines:
            text_template:
                caching: 1                  # default
                expires: 3600               # in seconds; default; 0 to disable
                cache_stringrefs: 1         # default
                delimiters: [ "{", "}" ]    # default

Just like with Dancer2::Template::Toolkit, you can pass templates either as filenames (for a template file) or string references ("string-refs", which are dereferenced and used as the template's content). In some cases, you may want to disable caching just for string-refs: for instance, if you generate a lot of templates on-the-fly and use them only once, caching them is useless and fills your cache. You can therefore disable caching for string-refs only by setting `cache_stringrefs` to `0`.

The `delimiters` option allows you to specify a custom delimiters pair (opening and closing) for your templates. See the Text::Template documentation for more about delimiters, since this module just pass them to Text::Template. This option defaults to `{` and `}`, meaning that in `a {b} c`, `b` (and only `b`) will be interpolated.

# METHODS

## render( $template, \%tokens )

Renders the template.

- `$template` is either a (string) filename for the template file or a

  reference to a string that contains the template.

- `\%tokens` is a hashref for the tokens you wish to pass to

  Text::Template for rendering, as if you were using `Text::Template::fill_in`.

Carps if an error occurs.

# AUTHOR

Thibaut Le Page <thilp@cpan.org>

# COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Thibaut Le Page.

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