Commit | Line | Data |
3fea05b9 |
1 | #============================================================= -*-perl-*- |
2 | # |
3 | # Template::Toolkit |
4 | # |
5 | # DESCRIPTION |
6 | # Front-page for the Template Toolkit documentation |
7 | # |
8 | # AUTHOR |
9 | # Andy Wardley <abw@wardley.org> |
10 | # |
11 | # COPYRIGHT |
12 | # Copyright (C) 1996-2007 Andy Wardley. All Rights Reserved. |
13 | # |
14 | # This module is free software; you can redistribute it and/or |
15 | # modify it under the same terms as Perl itself. |
16 | # |
17 | #======================================================================== |
18 | |
19 | =head1 NAME |
20 | |
21 | Template::Toolkit - Template Processing System |
22 | |
23 | =head1 Introduction |
24 | |
25 | The Template Toolkit is a collection of Perl modules which implement a |
26 | fast, flexible, powerful and extensible template processing system. |
27 | |
28 | It is "input-agnostic" and can be used equally well for processing any |
29 | kind of text documents: HTML, XML, CSS, Javascript, Perl code, plain text, |
30 | and so on. However, it is most often used for generating static and |
31 | dynamic web content, so that's what we'll focus on here. |
32 | |
33 | Although the Template Toolkit is written in Perl, you don't need to be a Perl |
34 | programmer to use it. It was designed to allow non-programmers to easily |
35 | create and maintain template-based web sites without having to mess around |
36 | writing Perl code or going crazy with cut-n-paste. |
37 | |
38 | However, the Template Toolkit is also designed to be extremely flexible and |
39 | extensible. If you are a Perl programmer, or know someone who is, then you can |
40 | easily hook the Template Toolkit into your existing code, data, databases and |
41 | web applications. Furthermore, you can easily extend the Template Toolkit |
42 | through the use of its plugin mechanism and other developer APIs. |
43 | |
44 | Whatever context you use it in, the primary purpose of the Template Toolkit is |
45 | to allow you to create a clear separation between the presentation elements of |
46 | your web site and everything else. |
47 | |
48 | If you're generating static web pages, then you can use it to separate the |
49 | commonly repeated user interface elements on each page (headers, menus, |
50 | footers, etc.) from the core content. If you're generating dynamic web pages |
51 | for the front end of a web application, then you'll also be using it to keep |
52 | the back-end Perl code entirely separate from the front-end HTML templates. |
53 | Either way, a I<clear separation of concerns> is what allow you to |
54 | concentrate on one thing at a time without the other things getting in your |
55 | way. And that's what the Template Toolkit is all about. |
56 | |
57 | =head1 Documentation |
58 | |
59 | The documentation for the Template Toolkit is organised into five sections. |
60 | |
61 | The L<Template::Manual> contains detailed information about using the Template |
62 | Toolkit. It gives examples of its use and includes a full reference of the |
63 | template language, configuration options, filters, plugins and other component |
64 | parts. |
65 | |
66 | The L<Template::Modules> page lists the Perl modules that comprise the |
67 | Template Toolkit. It gives a brief explanation of what each of them does, and |
68 | provides a link to the complete documentation for each module for further |
69 | information. If you're a Perl programmer looking to use the Template Toolkit |
70 | from your Perl programs then this section is likely to be of interest. |
71 | |
72 | Most, if not all of the information you need to call the Template Toolkit from |
73 | Perl is in the documentation for the L<Template> module. You only really need |
74 | to start thinking about the other modules if you want to extend or modify the |
75 | Template Toolkit in some way, or if you're interested in looking under the |
76 | hood to see how it all works. |
77 | |
78 | The documentation for each module is embedded as POD in each |
79 | module, so you can always use C<perldoc> from the command line to read a |
80 | module's documentation. e.g. |
81 | |
82 | $ perldoc Template |
83 | $ perldoc Template::Context |
84 | ...etc... |
85 | |
86 | It's worth noting that all the other documentation, including the user manual |
87 | is available as POD. e.g. |
88 | |
89 | $ perldoc Template::Manual |
90 | $ perldoc Template::Manual::Config |
91 | ...etc... |
92 | |
93 | The L<Template::Tools> section contains the documentation for |
94 | L<Template::Tools::tpage|tpage> and L<Template::Tools::ttree|ttree>. |
95 | These are two command line programs that are distributed with the |
96 | Template Toolkit. L<tpage|Template::Tools::tpage> is used to process |
97 | a single template file, L<ttree|Template::Tools::ttree> for processing |
98 | entire directories of template files. |
99 | |
100 | The L<Template::Tutorial> section contains two introductory tutorials on using |
101 | the Template Toolkit. The first is L<Template::Tutorial::Web> on generating |
102 | web content. The second is L<Template::Tutorial::Datafile> on using the |
103 | Template Toolkit to generate other data formats including XML. |
104 | |
105 | The final section of the manual is L<Template::FAQ> which contains answers |
106 | to some of the Frequently Asked Questions about the Template Toolkit. |
107 | |
108 | You can read the documentation in HTML format either online at the Template |
109 | Toolkit web site, L<http://template-toolkit.org/>, or by downloading the |
110 | HTML version of the documentation from |
111 | L<http://template-toolkit.org/download/index.html#html_docs> and unpacking |
112 | it on your local machine. |
113 | |
114 | =head1 Author |
115 | |
116 | The Template Toolkit was written by Andy Wardley (L<http://wardley.org/> |
117 | L<mailto:abw@wardley.org>) with assistance and contributions from a great |
118 | number of people. Please see L<Template::Manual::Credits> for a full list. |
119 | |
120 | =head1 Copyright |
121 | |
122 | Copyright (C) 1996-2008 Andy Wardley. All Rights Reserved. |
123 | |
124 | This module is free software; you can redistribute it and/or |
125 | modify it under the same terms as Perl itself. |
126 | |
127 | =head1 See Also |
128 | |
129 | L<Template>, L<Template::Manual>, L<Template::Modules>, L<Template::Tools>, |
130 | L<Template::Tutorial> |
131 | |
132 | =cut |
133 | |
134 | # Local Variables: |
135 | # mode: perl |
136 | # perl-indent-level: 4 |
137 | # indent-tabs-mode: nil |
138 | # End: |
139 | # |
140 | # vim: expandtab shiftwidth=4: |