[HOME]

Path : /home/easyrentals/public_html/sym404/root/usr/local/share/perl5/Template/Toolkit/
Upload :
Current File : /home/easyrentals/public_html/sym404/root/usr/local/share/perl5/Template/Toolkit/Simple.pod

=pod

=for comment
DO NOT EDIT. This Pod was generated by Swim v0.1.31.
See http://github.com/ingydotnet/swim-pm#readme

=encoding utf8

=head1 NAME

Template::Toolkit::Simple - A Simple Interface to Template Toolkit

=for html
<a href="https://travis-ci.org/ingydotnet/template-toolkit-simple-pm"><img src="https://travis-ci.org/ingydotnet/template-toolkit-simple-pm.png" alt="template-toolkit-simple-pm"></a>
<a href="https://coveralls.io/r/ingydotnet/template-toolkit-simple-pm?branch=master"><img src="https://coveralls.io/repos/ingydotnet/template-toolkit-simple-pm/badge.png" alt="template-toolkit-simple-pm"></a>

=head1 SYNOPSIS

      use Template::Toolkit::Simple;

      print tt
          ->path(['./', 'template/'])
          ->data('values.yaml')
          ->post_chomp
          ->render('foo.tt');

or from the command line:

      tt-render --path=./:template/ --data=values.yaml --post-chomp foo.tt

=head1 DESCRIPTION

Template Toolkit is the best Perl template framework. The only problem with it
is that using it for simple stuff is a little bit cumbersome. Also there is no
good utility for using it from the command line.

This module is a simple wrapper around Template Toolkit. It exports a function
called C<tt> which returns a new Template::Toolkit::Simple object. The object
supports method calls for setting all the Template Toolkit options.

This module also installs a program called C<tt-render> which you can use
from the command line to render templates with all the power of the Perl
object. All of the object methods become command line arguments in the
command line version.

=head1 COMMAND LINE USAGE

This command renders the named file and prints the output to STDOUT. If an
error occurs, it is printed to STDERR.

    tt-render [template-options] file-name

=head1 TEMPLATE PATH

When using Template::Toolkit::Simple or C<tt-render>, the most common
parameters you will use are the main template file name and the directory of
supporting templates. As a convenience, you can specify these together.

This:

    tt->render('foo//bar/baz.tt');
    > tt-render foo//bar/baz.tt  # command line version

is the same as:

    tt->include_path('foo/')->render('bar/baz.tt');
    > tt-render --include_path=foo/ bar/baz.tt  # command line version

Just use a double slash to separate the path from the template. This is extra
handy on the command line, because (at least in Bash) tab completion still
works after you specify the '//'.

=head1 EXPORTED SUBROUTINES

=over

=item tt

Simply returns a new Template::Toolkit::Simple object. This is Simple
sugar for:

    Template::Toolkit::Simple->new();

It takes no parameters.

=back

=head1 METHODS

This section describes the methods that are not option setting methods. Those
methods are described below.

=over

=item new()

Return a new Template::Toolkit::Simple object. Takes no parameters.

=item render($template, $data);

This is the method that actually renders the template. It is similar to the
Template Toolkit C<process> method, except that it actually returns the
template result as a string. It returns undef if an error occurs.

The C<$data> field is optional and can be set with the C<data> method.

If you need more control, see the process command below:

=item process($template, $data, $output, %options);

This command is simply a proxy to the Template Toolkit C<process> command. All
the parameters you give it are passed to the real C<process> command and the
result is returned. See L<Template> for more information.

=item output($filepath)

Specify a filepath to print the template result to.

=item error()

This method is a proxy to the Template Toolkit C<error> method. It returns the
error message if there was an error.

=back

=head1 OPTION METHODS

All of the Template Toolkit options are available as methods to
Template::Toolkit::Simple objects, and also as command line options to the C<tt-
render> command.

For example, the C<POST_CHOMP> options is available in the following ways:

    tt->post_chomp      # turn POST_CHOMP on
    tt->post_chomp(1)   # turn POST_CHOMP on
    tt->post_chomp(0)   # turn POST_CHOMP off

    --post_chomp        # turn POST_CHOMP on
    --post-chomp        # same. use - instead of _
    --post_chomp=1      # turn POST_CHOMP on
    --post_chomp=0      # turn POST_CHOMP off

If the method functionality is not explained below, please refer to
L<Template>.

=over

=item C<config($file_name || $hash)>

If you have a common set of Template Toolkit options stored in a file, you can
use this method to read and parse the file, and set the appropriate options.

The currently supported file formats are YAML, JSON and XML. The format
is determined by the file extension, so use the appropriate one. Note
that XML::Simple is used to parse XML files and JSON::XS is used to parse
JSON files.

=item C<data($file_name || $hash)>

Most templates use a hash object of data to access values while rendering. You
can specify this data in a file or with a hash reference.

The currently supported file formats are YAML, JSON and XML. The format is
determined by the file extension, so use the appropriate one. Note the
XML::Simple is used to parse XML files.

=item C<include_path($template_directories)>

Default is undef

This method allows you to specify the directories that are searched to find
templates. You can specify this as a string containing a single directory, an
array ref of strings containing directory names, or as a string containing
multiple directories separated by ':'.

=item C<path()>

Default is undef

This is a shorter name for C<include_path>. It does the exact same thing.

=item C<start_tag()>

Default is '[%'


=item C<end_tag()>

Default is '%]'


=item C<tag_style()>

Default is 'template'


=item C<pre_chomp()>

Default is 0


=item C<post_chomp()>

Default is 0


=item C<trim()>

Default is 0


=item C<interpolate()>

Default is 0


=item C<anycase()>

Default is 0


=item C<delimiter()>

Default is ':'


=item C<absolute()>

Default is 0


=item C<relative()>

Default is 0


=item C<strict()>

Default is 0


=item C<default()>

Default is undef


=item C<blocks()>

Default is undef


=item C<auto_reset()>

Default is 1


=item C<recursion()>

Default is 0


=item C<eval_perl()>

Default is 0


=item C<pre_process()>

Default is undef


=item C<post_process()>

Default is undef


=item C<process_template()>

Default is undef

This is a proxy to the Template Toolkit PROCESS option. The C<process> method
is used to actually process a template.

=item C<error_template()>

Default is undef

This is a proxy to the Template Toolkit ERROR option. The C<error()> method
returns the error message on a failure.

=item C<debug()>

Default is 0


=item C<cache_size()>

Default is undef


=item C<compile_ext()>

Default is undef


=item C<compile_dir()>

Default is undef


=item C<encoding()>

Default is 'utf8'


=back

=head1 AUTHOR

Ingy döt Net <ingy@cpan.org>

=head1 COPYRIGHT AND LICENSE

Copyright 2008-2014. Ingy döt Net.

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

See L<http://www.perl.com/perl/misc/Artistic.html>

=cut