Initial Commit
This commit is contained in:
148
database/perl/vendor/lib/Template/Toolkit.pm
vendored
Normal file
148
database/perl/vendor/lib/Template/Toolkit.pm
vendored
Normal file
@@ -0,0 +1,148 @@
|
||||
#============================================================= -*-perl-*-
|
||||
#
|
||||
# Template::Toolkit
|
||||
#
|
||||
# DESCRIPTION
|
||||
# Front-page for the Template Toolkit documentation
|
||||
#
|
||||
# AUTHOR
|
||||
# Andy Wardley <abw@wardley.org>
|
||||
#
|
||||
# COPYRIGHT
|
||||
# Copyright (C) 1996-2013 Andy Wardley. All Rights Reserved.
|
||||
#
|
||||
# This module is free software; you can redistribute it and/or
|
||||
# modify it under the same terms as Perl itself.
|
||||
#
|
||||
#========================================================================
|
||||
|
||||
package Template::Toolkit;
|
||||
|
||||
our $VERSION = '3.009';
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Template::Toolkit - Template Processing System
|
||||
|
||||
=head1 Introduction
|
||||
|
||||
The Template Toolkit is a collection of Perl modules which implement a
|
||||
fast, flexible, powerful and extensible template processing system.
|
||||
|
||||
It is "input-agnostic" and can be used equally well for processing any
|
||||
kind of text documents: HTML, XML, CSS, Javascript, Perl code, plain text,
|
||||
and so on. However, it is most often used for generating static and
|
||||
dynamic web content, so that's what we'll focus on here.
|
||||
|
||||
Although the Template Toolkit is written in Perl, you don't need to be a Perl
|
||||
programmer to use it. It was designed to allow non-programmers to easily
|
||||
create and maintain template-based web sites without having to mess around
|
||||
writing Perl code or going crazy with cut-n-paste.
|
||||
|
||||
However, the Template Toolkit is also designed to be extremely flexible and
|
||||
extensible. If you are a Perl programmer, or know someone who is, then you can
|
||||
easily hook the Template Toolkit into your existing code, data, databases and
|
||||
web applications. Furthermore, you can easily extend the Template Toolkit
|
||||
through the use of its plugin mechanism and other developer APIs.
|
||||
|
||||
Whatever context you use it in, the primary purpose of the Template Toolkit is
|
||||
to allow you to create a clear separation between the presentation elements of
|
||||
your web site and everything else.
|
||||
|
||||
If you're generating static web pages, then you can use it to separate the
|
||||
commonly repeated user interface elements on each page (headers, menus,
|
||||
footers, etc.) from the core content. If you're generating dynamic web pages
|
||||
for the front end of a web application, then you'll also be using it to keep
|
||||
the back-end Perl code entirely separate from the front-end HTML templates.
|
||||
Either way, a I<clear separation of concerns> is what allow you to
|
||||
concentrate on one thing at a time without the other things getting in your
|
||||
way. And that's what the Template Toolkit is all about.
|
||||
|
||||
=head1 Documentation
|
||||
|
||||
The documentation for the Template Toolkit is organised into five sections.
|
||||
|
||||
The L<Template::Manual> contains detailed information about using the Template
|
||||
Toolkit. It gives examples of its use and includes a full reference of the
|
||||
template language, configuration options, filters, plugins and other component
|
||||
parts.
|
||||
|
||||
The L<Template::Modules> page lists the Perl modules that comprise the
|
||||
Template Toolkit. It gives a brief explanation of what each of them does, and
|
||||
provides a link to the complete documentation for each module for further
|
||||
information. If you're a Perl programmer looking to use the Template Toolkit
|
||||
from your Perl programs then this section is likely to be of interest.
|
||||
|
||||
Most, if not all of the information you need to call the Template Toolkit from
|
||||
Perl is in the documentation for the L<Template> module. You only really need
|
||||
to start thinking about the other modules if you want to extend or modify the
|
||||
Template Toolkit in some way, or if you're interested in looking under the
|
||||
hood to see how it all works.
|
||||
|
||||
The documentation for each module is embedded as POD in each
|
||||
module, so you can always use C<perldoc> from the command line to read a
|
||||
module's documentation. e.g.
|
||||
|
||||
$ perldoc Template
|
||||
$ perldoc Template::Context
|
||||
...etc...
|
||||
|
||||
It's worth noting that all the other documentation, including the user manual
|
||||
is available as POD. e.g.
|
||||
|
||||
$ perldoc Template::Manual
|
||||
$ perldoc Template::Manual::Config
|
||||
...etc...
|
||||
|
||||
The L<Template::Tools> section contains the documentation for
|
||||
L<Template::Tools::tpage|tpage> and L<Template::Tools::ttree|ttree>.
|
||||
These are two command line programs that are distributed with the
|
||||
Template Toolkit. L<tpage|Template::Tools::tpage> is used to process
|
||||
a single template file, L<ttree|Template::Tools::ttree> for processing
|
||||
entire directories of template files.
|
||||
|
||||
The L<Template::Tutorial> section contains two introductory tutorials on using
|
||||
the Template Toolkit. The first is L<Template::Tutorial::Web> on generating
|
||||
web content. The second is L<Template::Tutorial::Datafile> on using the
|
||||
Template Toolkit to generate other data formats including XML.
|
||||
|
||||
The final section of the manual is L<Template::FAQ> which contains answers
|
||||
to some of the Frequently Asked Questions about the Template Toolkit.
|
||||
|
||||
You can read the documentation in HTML format either online at the Template
|
||||
Toolkit web site, L<http://template-toolkit.org/>, or by downloading the
|
||||
HTML version of the documentation from
|
||||
L<http://template-toolkit.org/download/index.html#html_docs> and unpacking
|
||||
it on your local machine.
|
||||
|
||||
=head1 Author
|
||||
|
||||
The Template Toolkit was written by Andy Wardley (L<http://wardley.org/>
|
||||
L<mailto:abw@wardley.org>) with assistance and contributions from a great
|
||||
number of people. Please see L<Template::Manual::Credits> for a full list.
|
||||
|
||||
=head1 Copyright
|
||||
|
||||
Copyright (C) 1996-2013 Andy Wardley. All Rights Reserved.
|
||||
|
||||
This module is free software; you can redistribute it and/or
|
||||
modify it under the same terms as Perl itself.
|
||||
|
||||
=head1 See Also
|
||||
|
||||
L<Template>, L<Template::Manual>, L<Template::Modules>, L<Template::Tools>,
|
||||
L<Template::Tutorial>
|
||||
|
||||
=cut
|
||||
|
||||
# Local Variables:
|
||||
# mode: perl
|
||||
# perl-indent-level: 4
|
||||
# indent-tabs-mode: nil
|
||||
# End:
|
||||
#
|
||||
# vim: expandtab shiftwidth=4:
|
||||
Reference in New Issue
Block a user