Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

commit for 2.14a

git-svn-id: svn://svn.tt2.org/tt/Template2/trunk@944 d5a88997-0a34-4036-9ed2-92fb5d660d91
  • Loading branch information...
commit d56b9a8c43c1876ac655d0d87efc9c459ab5dc65 1 parent c20e413
Andy Wardley authored

Showing 150 changed files with 1,948 additions and 3,678 deletions. Show diff stats Hide diff stats

  1. +2 2 HACKING
  2. +14 92 INSTALL
  3. +1 9 MANIFEST
  4. +3 15 Makefile.PL
  5. +20 149 README
  6. +1 1  TODO
  7. +2 5 bin/tpage
  8. +3 3 bin/ttree
  9. +3 314 docs/lib/docset/config
  10. +2 2 docs/src/FAQ/FAQ.html
  11. +2 2 docs/src/Library/HTML.html
  12. +2 2 docs/src/Library/PostScript.html
  13. +2 2 docs/src/Library/Splash.html
  14. +59 29 docs/src/Manual/Config.html
  15. +20 62 docs/src/Manual/Credits.html
  16. +60 22 docs/src/Manual/Directives.html
  17. +24 67 docs/src/Manual/Filters.html
  18. +1 1  docs/src/Manual/Internals.html
  19. +1 1  docs/src/Manual/Intro.html
  20. +15 208 docs/src/Manual/Plugins.html
  21. +1 1  docs/src/Manual/Refs.html
  22. +1 1  docs/src/Manual/Syntax.html
  23. +55 6 docs/src/Manual/VMethods.html
  24. +134 102 docs/src/Manual/Variables.html
  25. +1 1  docs/src/Manual/Views.html
  26. +17 11 docs/src/Modules/Template.html
  27. +2 2 docs/src/Modules/Template/Base.html
  28. +2 2 docs/src/Modules/Template/Config.html
  29. +2 2 docs/src/Modules/Template/Constants.html
  30. +2 2 docs/src/Modules/Template/Context.html
  31. +4 4 docs/src/Modules/Template/Document.html
  32. +2 2 docs/src/Modules/Template/Exception.html
  33. +25 68 docs/src/Modules/Template/Filters.html
  34. +2 2 docs/src/Modules/Template/Iterator.html
  35. +2 2 docs/src/Modules/Template/Namespace/Constants.html
  36. +14 6 docs/src/Modules/Template/Parser.html
  37. +2 2 docs/src/Modules/Template/Plugin.html
  38. +1 1  docs/src/Modules/Template/Plugin/Autoformat.html
  39. +2 2 docs/src/Modules/Template/Plugin/CGI.html
  40. +2 2 docs/src/Modules/Template/Plugin/Datafile.html
  41. +2 2 docs/src/Modules/Template/Plugin/Date.html
  42. +2 2 docs/src/Modules/Template/Plugin/Directory.html
  43. +2 2 docs/src/Modules/Template/Plugin/Dumper.html
  44. +26 26 docs/src/Modules/Template/Plugin/File.html
  45. +2 2 docs/src/Modules/Template/Plugin/Filter.html
  46. +2 2 docs/src/Modules/Template/Plugin/Format.html
  47. +2 2 docs/src/Modules/Template/Plugin/HTML.html
  48. +38 10 docs/src/Modules/Template/Plugin/Image.html
  49. +2 2 docs/src/Modules/Template/Plugin/Iterator.html
  50. +2 2 docs/src/Modules/Template/Plugin/Math.html
  51. +2 2 docs/src/Modules/Template/Plugin/Pod.html
  52. +2 2 docs/src/Modules/Template/Plugin/Procedural.html
  53. +22 2 docs/src/Modules/Template/Plugin/String.html
  54. +2 2 docs/src/Modules/Template/Plugin/Table.html
  55. +13 11 docs/src/Modules/Template/Plugin/URL.html
  56. +2 2 docs/src/Modules/Template/Plugin/View.html
  57. +2 2 docs/src/Modules/Template/Plugin/Wrap.html
  58. +63 226 docs/src/Modules/Template/Plugins.html
  59. +2 2 docs/src/Modules/Template/Provider.html
  60. +2 2 docs/src/Modules/Template/Service.html
  61. +3 3 docs/src/Modules/Template/Stash.html
  62. +2 2 docs/src/Modules/Template/Stash/Context.html
  63. +1 1  docs/src/Modules/Template/Stash/XS.html
  64. +2 2 docs/src/Modules/Template/Test.html
  65. +0 176 docs/src/Modules/index.html
  66. +257 11 docs/src/Release/Changes.html
  67. +2 2 docs/src/Release/HACKING.html
  68. +14 92 docs/src/Release/INSTALL.html
  69. +20 149 docs/src/Release/README.html
  70. +1 1  docs/src/Release/TODO.html
  71. +2 2 docs/src/Tools/tpage.html
  72. +2 2 docs/src/Tools/ttree.html
  73. +1 1  docs/src/Tutorial/Datafile.html
  74. +1 1  docs/src/Tutorial/Web.html
  75. +1 1  docs/src/Tutorial/index.html
  76. +1 1  docs/src/index.html
  77. +1 1  docsrc/lib/misc/copy
  78. +17 11 docsrc/pod/Template.pod
  79. +37 7 docsrc/src/Release/Changes.tt2
  80. +6 67 docsrc/src/Release/INSTALL.tt2
  81. +0 421 docsrc/xml/ttdocs.xml
  82. +2 2 lib/Template/Base.pm
  83. +4 4 lib/Template/Config.pm
  84. +2 2 lib/Template/Constants.pm
  85. +2 2 lib/Template/Context.pm
  86. +4 4 lib/Template/Document.pm
  87. +2 2 lib/Template/Exception.pm
  88. +3 3 lib/Template/FAQ.pod
  89. +23 9 lib/Template/Filters.pm
  90. +2 2 lib/Template/Iterator.pm
  91. +3 3 lib/Template/Library/HTML.pod
  92. +3 3 lib/Template/Library/PostScript.pod
  93. +3 3 lib/Template/Library/Splash.pod
  94. +1 1  lib/Template/Manual.pod
  95. +59 32 lib/Template/Manual/Config.pod
  96. +18 62 lib/Template/Manual/Credits.pod
  97. +58 24 lib/Template/Manual/Directives.pod
  98. +23 67 lib/Template/Manual/Filters.pod
  99. +1 1  lib/Template/Manual/Internals.pod
  100. +1 1  lib/Template/Manual/Intro.pod
  101. +14 196 lib/Template/Manual/Plugins.pod
  102. +1 1  lib/Template/Manual/Refs.pod
  103. +1 1  lib/Template/Manual/Syntax.pod
  104. +52 7 lib/Template/Manual/VMethods.pod
  105. +133 102 lib/Template/Manual/Variables.pod
  106. +1 1  lib/Template/Manual/Views.pod
  107. +1 133 lib/Template/Modules.pod
  108. +2 2 lib/Template/Namespace/Constants.pm
  109. +13 6 lib/Template/Parser.pm
  110. +2 2 lib/Template/Plugin.pm
  111. +1 1  lib/Template/Plugin/Autoformat.pm
  112. +2 2 lib/Template/Plugin/CGI.pm
  113. +2 2 lib/Template/Plugin/Datafile.pm
  114. +2 2 lib/Template/Plugin/Date.pm
  115. +2 2 lib/Template/Plugin/Directory.pm
  116. +2 2 lib/Template/Plugin/Dumper.pm
  117. +55 55 lib/Template/Plugin/File.pm
  118. +2 2 lib/Template/Plugin/Filter.pm
  119. +2 2 lib/Template/Plugin/Format.pm
  120. +2 2 lib/Template/Plugin/HTML.pm
  121. +38 11 lib/Template/Plugin/Image.pm
  122. +2 2 lib/Template/Plugin/Iterator.pm
  123. +2 2 lib/Template/Plugin/Math.pm
  124. +2 2 lib/Template/Plugin/Pod.pm
  125. +2 2 lib/Template/Plugin/Procedural.pm
  126. +22 2 lib/Template/Plugin/String.pm
  127. +2 2 lib/Template/Plugin/Table.pm
  128. +12 12 lib/Template/Plugin/URL.pm
  129. +2 2 lib/Template/Plugin/View.pm
  130. +2 2 lib/Template/Plugin/Wrap.pm
  131. +50 20 lib/Template/Plugins.pm
  132. +2 2 lib/Template/Provider.pm
  133. +2 2 lib/Template/Service.pm
  134. +4 4 lib/Template/Stash.pm
  135. +2 2 lib/Template/Stash/Context.pm
  136. +1 1  lib/Template/Stash/XS.pm
  137. +14 14 lib/Template/Test.pm
  138. +2 2 lib/Template/Tools/tpage.pod
  139. +2 2 lib/Template/Tools/ttree.pod
  140. +6 6 lib/Template/Tutorial.pod
  141. +1 1  lib/Template/Tutorial/Datafile.pod
  142. +6 6 lib/Template/Tutorial/Web.pod
  143. +0 82 t/latex2dvi.t
  144. +0 82 t/latex2pdf.t
  145. +0 83 t/latex2ps.t
  146. +152 0 t/pod.t
  147. +0 112 t/rss.t
  148. +1 0  t/stash-xs.t
  149. +25 0 t/test/pod/test1.pod
  150. +13 0 t/vmeth.t
4 HACKING
... ... @@ -1,9 +1,9 @@
1 1
2 2 Template Toolkit
3 3
4   - Version 2.13
  4 + Version 2.15
5 5
6   - 30 January 2004
  6 + 30 January 2006
7 7
8 8 Copyright (C) 1996-2004 Andy Wardley. All Rights Reserved
9 9 Copyright (C) 1998-2002 Canon Research Centre Europe Ltd.
106 INSTALL
... ... @@ -1,9 +1,9 @@
1 1
2 2 Template Toolkit
3 3
4   - Version 2.13
  4 + Version 2.15
5 5
6   - 30 January 2004
  6 + 30 January 2006
7 7
8 8 Copyright (C) 1996-2004 Andy Wardley. All Rights Reserved
9 9 Copyright (C) 1998-2002 Canon Research Centre Europe Ltd.
@@ -18,32 +18,15 @@ The latest version of the Template Toolkit can be retrieved from:
18 18
19 19 http://www.cpan.org/modules/by-module/Template/
20 20
21   -Fetch and install AppConfig 1.55 if you don't already have it installed.
  21 +Fetch and install AppConfig 1.56 if you don't already have it installed.
22 22 Available from CPAN in:
23 23
24 24 http://www.cpan.org/authors/Andy_Wardley/
25 25
26   -The following modules are optional. If you have them installed then
27   -you will be able to access them via the appropriate Template Toolkit
28   -plugins. If you don't have them and don't want them, then there's no
29   -need to install them. They're all available from CPAN if you do.
30   -
31   - Text::Autoformat 1.03+
32   - DBI 1.14+ (and relevant DBD drivers)
33   - GD 1.32+
34   - GD::Text 0.80+
35   - GD::Graph 1.33+
36   - GD::Graph3d 0.55+
37   - Pod::POM 0.1+
38   - XML::Parser 2.23+
39   - XML::DOM 1.27+ (in libxml-enno)
40   - XML::RSS 0.9+
41   - XML::XPath 1.00+
42   -
43 26 To install the Template Toolkit:
44 27
45   - tar zxf Template-Toolkit-2.13.tar.gz
46   - cd Template-Toolkit-2.13
  28 + tar zxf Template-Toolkit-2.15.tar.gz
  29 + cd Template-Toolkit-2.15
47 30 perl Makefile.PL
48 31 make
49 32 make test
@@ -81,34 +64,10 @@ available from CPAN:
81 64 The Template Toolkit implements a "plugin" architecture which allow
82 65 you to incorporate the functionality of virtually any Perl module into
83 66 your templates. A number of plugin modules are included with the
84   -distribution for interfacing to databases (DBI), XML files (XML::DOM,
85   -XML::RSS, XML::XPath), CGI scripts (CGI), and so on. Some of these
86   -plugin modules are dependant on external modules but these are not
87   -pre-requisites for installation. All plugin modules are installed,
88   -regardless of any unsatisfied dependencies, so that you can install an
89   -external module at a later date and then use the plugin without
90   -requiring re-installation of the Template Toolkit.
91   -
92   -If you want to enable all plugin modules then the following modules,
93   -all available from CPAN, should be installed:
94   -
95   - Plugin Requires
96   - ------ --------
97   - Autoformat Text::Autoformat 1.03+
98   - DBI DBI 1.14+ and relevant DBD drivers
99   - GD GD 1.32+
100   - GD::Text GD::Text 0.80+
101   - GD::Graph GD::Graph 1.33+
102   - GD::Graph::lines3d GD::Graph3d 0.55+
103   - Pod Pod::POM 0.1+
104   - XML::DOM XML::DOM 1.27+ (requires XML::Parser 2.23+)
105   - XML::RSS XML::RSS 0.9+ (ditto)
106   - XML::XPath XML::XPath 1.00+ (ditto)
107   -
108   -NOTES:
109   -
110   - * XML::DOM can be found in the 'libxml-enno' distribution, available
111   - from http://www.cpan.org/modules/by-module/XML/
  67 +distribution for adding extra functionality or interfacing to external
  68 +CPAN modules. You don't need to install any of these external modules
  69 +unless you plan to use those particular plugins. See Template::Plugins
  70 +and Template::Manual::Plugins for further details.
112 71
113 72
114 73 OBTAINING AND INSTALLING THE TEMPLATE TOOLKIT
@@ -129,19 +88,19 @@ The Template Toolkit is distributed as a gzipped tar archive file:
129 88
130 89 Template-Toolkit-<version>.tar.gz
131 90
132   -where <version> represents the current version number, e.g. 2.13.
  91 +where <version> represents the current version number, e.g. 2.15.
133 92
134 93 To install the Template Toolkit, unpack the distribution archive to
135 94 create an installation directory. Something like this:
136 95
137   - tar zxf Template-Toolkit-2.13.tar.gz
  96 + tar zxf Template-Toolkit-2.15.tar.gz
138 97 or
139   - gunzip Template-Toolkit-2.13.tar.gz
140   - tar xf Template-Toolkit-2.13.tar
  98 + gunzip Template-Toolkit-2.15.tar.gz
  99 + tar xf Template-Toolkit-2.15.tar
141 100
142 101 You can then 'cd' into the directory created,
143 102
144   - cd Template-Toolkit-2.13
  103 + cd Template-Toolkit-2.15
145 104
146 105 and perform the usual Perl installation procedure:
147 106
@@ -201,19 +160,6 @@ install the Template Toolkit.
201 160
202 161 perl Makefile.PL
203 162
204   -It first determines which modules you have installed to configure the
205   -test suite accordingly. If you have the DBI module installed then it
206   -will ask you if you want to run the DBI tests.
207   -
208   - Do you want to run the DBI tests?\n" .
209   - It requires access to an existing test database. [y]
210   -
211   -If you answer 'y' then it will prompt you for the DBD driver and the
212   -data source parameters (name, user, password) required to connect to
213   -the relevant database. Please ensure that your database server is
214   -running and that the database you specify exists before executing
215   -'make test' (otherwise, expect a failure for the t/dbi.t test).
216   -
217 163 The Template Toolkit now boasts a high-speed implementation of
218 164 Template::Stash written in XS. You can choose to build this as
219 165 an optional module for using explicitly as an alternative to
@@ -227,30 +173,6 @@ the XS Stash module by default:
227 173 Do you want to build the XS Stash module? [y]
228 174 Do you want to use the XS Stash for all Templates? [n]
229 175
230   -The latex filter, new to release 2.03, allows you to generate
231   -PostScript, PDF and DVI files directly from LaTeX source templates.
232   -It relies on 3 external programs which the Makefile.PL script
233   -will attempt to locate. You will then be prompted to enable or
234   -disable the latex filter:
235   -
236   - TT2 supports PDF, DVI and PostScript output using the latex
237   - filter, implemented with the programs pdflatex, latex and dvips.
238   -
239   - Because the latex filter runs latex and pdflatex, template authors
240   - could use this feature to include any arbitrary file in their
241   - latex input, or also open an arbitrary output file, independent of
242   - the ABSOLUTE or RELATIVE configuration settings. This might create
243   - a security concern at your site. If you don't trust your template
244   - authors then don't enable the latex filter.
245   -
246   - I found the following locations for pdflatex, latex and dvips:
247   - + pdflatex => /usr/bin/pdflatex
248   - + latex => /usr/bin/latex
249   - + dvips => /usr/bin/dvips
250   -
251   - Do you want to enable the latex filter? [y]
252   - Are the pdflatex, latex and dvips paths ok? [y]
253   -
254 176 In additional to the Perl modules and POD documentation installed in
255 177 the usual way, the Template Toolkit distribution also contains a
256 178 number of optional components.
10 MANIFEST
@@ -467,7 +467,6 @@ t/proc.t
467 467 t/process.t
468 468 t/provider.t
469 469 t/ref.t
470   -t/rss.t
471 470 t/service.t
472 471 t/skel.t
473 472 t/stash-xs.t
@@ -531,20 +530,12 @@ t/test/src/leak2
531 530 t/test/src/metadata
532 531 t/test/src/mywrap
533 532 t/test/src/recurse
534   -t/test/src/one
535   -t/test/src/one
536   -t/test/src/two
537   -t/test/src/three
538   -t/test/src/four
539 533 t/test/tmp/README
540   -t/test/xml/example.rdf
541   -t/test/xml/testfile.xml
542 534 t/text.t
543 535 t/throw.t
544 536 t/tiedhash.t
545 537 t/try.t
546 538 t/url.t
547   -t/url2.t
548 539 t/vars.t
549 540 t/varsv1.t
550 541 t/view.t
@@ -641,3 +632,4 @@ xs/Makefile.PL
641 632 xs/README
642 633 xs/Stash.xs
643 634 xs/ppport.h
  635 +META.yml Module meta-data (added by MakeMaker)
18 Makefile.PL
@@ -155,7 +155,7 @@ my $SPLASH_STYLES = {
155 155
156 156
157 157 # define version numbers of required modules
158   -my $TT_APPCONFIG_VERSION = '1.55';
  158 +my $TT_APPCONFIG_VERSION = '1.56';
159 159 my $TT_FILE_SPEC_VERSION = '0.8';
160 160 my $TT_FILE_TEMP_VERSION = '0.12';
161 161
@@ -416,20 +416,8 @@ the regular Template::Stash written in Perl. If you've got a C
416 416 compiler on your system then you can elect to have the XS Stash built.
417 417 You can also specify that you want to use the XS Stash by default.
418 418
419   -Please note that the XS Stash doesn't support access to tied hashes or
420   -tied lists (e.g. Tie::DBI). If you're using tied objects then you'll
421   -need to explicitly tell the Template Toolkit that you want to use the
422   -Perl version. You can specify which stash module you want by setting
423   -the \$Template::Config::STASH package variable.
424   -
425   - use Template;
426   - use Template::Config;
427   -
428   - \$Template::Config::STASH = 'Template::Stash';
429   - \$tt = Template->new(); # uses Perl stash
430   -
431   - \$Template::Config::STASH = 'Template::Stash::XS';
432   - \$tt = Template->new(); # uses XS stash
  419 +Note that as of version 2.15 the XS Stash now supports access to tied
  420 +hashes and arrays.
433 421
434 422 See 'perldoc Template::Config' for further details.
435 423
169 README
... ... @@ -1,9 +1,9 @@
1 1
2 2 Template Toolkit
3 3
4   - Version 2.13
  4 + Version 2.15
5 5
6   - 30 January 2004
  6 + 30 January 2006
7 7
8 8 Copyright (C) 1996-2004 Andy Wardley. All Rights Reserved
9 9 Copyright (C) 1998-2002 Canon Research Centre Europe Ltd.
@@ -19,32 +19,15 @@ The latest version of the Template Toolkit can be retrieved from:
19 19
20 20 http://www.cpan.org/modules/by-module/Template/
21 21
22   -Fetch and install AppConfig 1.55 if you don't already have it installed.
  22 +Fetch and install AppConfig 1.56 if you don't already have it installed.
23 23 Available from CPAN in:
24 24
25 25 http://www.cpan.org/authors/Andy_Wardley/
26 26
27   -The following modules are optional. If you have them installed then
28   -you will be able to access them via the appropriate Template Toolkit
29   -plugins. If you don't have them and don't want them, then there's no
30   -need to install them. They're all available from CPAN if you do.
31   -
32   - Text::Autoformat 1.03+
33   - DBI 1.14+ (and relevant DBD drivers)
34   - GD 1.32+
35   - GD::Text 0.80+
36   - GD::Graph 1.33+
37   - GD::Graph3d 0.55+
38   - Pod::POM 0.1+
39   - XML::Parser 2.23+
40   - XML::DOM 1.27+ (in libxml-enno)
41   - XML::RSS 0.9+
42   - XML::XPath 1.00+
43   -
44 27 To install the Template Toolkit:
45 28
46   - tar zxf Template-Toolkit-2.13.tar.gz
47   - cd Template-Toolkit-2.13
  29 + tar zxf Template-Toolkit-2.15.tar.gz
  30 + cd Template-Toolkit-2.15
48 31 perl Makefile.PL
49 32 make
50 33 make test
@@ -82,73 +65,28 @@ content. A number of Perl scripts are also provided which can greatly
82 65 simplify the process of creating and managing static web content and
83 66 other offline document systems.
84 67
85   -Version 2 is a near-total rewrite which adds many new features while
86   -remaining *almost* fully backwardly compatible with version 1 (see
87   -'VERSION COMPATABILITY' below). The internal design and
88   -architecture have been greatly improved and the template language
89   -offers a number of powerful new directives, while retaining all but
90   -the broken, buggy, undocumented or experimental features that had
91   -crept into versions 0.* and 1.* over the years. Version 2 also offers
92   -important performance benefits, running significantly faster and using
93   -less memory than version 1. This can only be described as a Good
94   -Thing.
95   -
96   -The Template Toolkit (version 1) received the award for "Best New Perl
97   -Module" at the 4th Perl Conference in Monterey last year (2000).
98   -Version 2 is even better and if it doesn't make your content funkier,
99   -your job easier, your life more fun and you more attractive to the
100   -appropriate sex, then you can always return it for a full refund. :-)
101   -
102 68
103 69 WHAT'S NEW?
104 70 -----------
105 71
106   -Version 2.13 followed on quickly from 2.13 to fix a minor, but
107   -annoying bug in the date.t test script that we thought we had
108   -fixed in 2.12 but hadn't.
109   -
110   -Version 2.12 followed on quickly from 2.11 to fix a minor, but
111   -annoying bug in the date.t test script.
112   -
113   -Version 2.11 includes a number of enhancements to ttree, and several
114   -minor bug fixes. It also improves on how runtime errors and warnings
115   -are reported, by adding the template file and line number to the
116   -message generated.
117   -
118   -Version 2.10 provided a few trivial new features and applies fixes to
119   -some small bugs. For example, you can now use IN instead of = in a
120   -loop, e.g. FOREACH item IN list. The WRAPPER configuration option is
121   -new, and Template::Context and Template::Stash now both implement
122   -define_vmethod() methods which make it easier to define new virtual
123   -methods.
124   -
125   -Version 2.09 contained mostly bug fixes and minor enhancements.
  72 +Version 2.15 features a number of enhancements to the XS Stash that
  73 +includes support for tied hashes and arrays. There are numerous other
  74 +bug fixes and enhancements, described in detail in the Changes file.
126 75
127   -Version 2.08 added compile time constant folding which can result in a
128   -significant performance boost when processing templates. It also
129   -offered several other minor enhancements and bug fixes.
  76 +More significant is what's not in version 2.15. The DBI plugin has
  77 +been moved into a separate Template-DBI distribution, the GD plugins
  78 +into Template-GD, the XML plugins into Template-XML, and the Latex
  79 +filters into Template-Latex. This has been done in an effort to make
  80 +the Template Toolkit core distribution smaller, cleaner and easier to
  81 +configure and install.
130 82
131   -Version 2.07 was a major maintenance release, fixing numerous minor bugs
132   -and smoothing out various rough edges. Version 2.06 was a very minor
133   -bug release version.
  83 +Version 2.14 added Unicode support to TT, a full set of command line
  84 +options for tpage, the 'caller' and 'callers' items to each template
  85 +component, some enhancements to the XML::Simple plugin, and a number
  86 +of minor bug fixes.
134 87
135   -The most exciting new feature in version 2.05 was Doug Steinwand's
136   -high-speed drop-in replacement for Template::Stash written in
137   -Perl XS. With this in place, the Template Toolkit typically runs
138   -twice as fast as before!
139   -
140   -Pretty much everything else in 2.05 and 2.04 before it consisted
141   -of minor bug fixes and improvements.
142   -
143   -Version 2.03 included Craig Barratt's 'latex' filter and GD plugins
144   -and Dave Cross's tutorial on using the Template Toolkit for creating
145   -and reusing XML data files.
146   -
147   -Version 2.02 was another bugfix release.
148   -
149   -Version 2.01 was a major release containing new filters, plugins,
150   -template libraries, the experimental VIEW directive, and a total
151   -overhaul of the documentation.
  88 +See the Changes file for further details of the changes in these and
  89 +earlier releases.
152 90
153 91
154 92 GENERAL FEATURES
@@ -226,17 +164,6 @@ using 'perldoc', e.g.
226 164
227 165 perldoc Template
228 166
229   -IMPORTANT NOTE: if you've had a previous verion of the Template
230   -Toolkit installed (e.g. version 2.00) then perldoc might be displaying
231   -an old version of the Pod documentation. This is because previous
232   -versions distributed the Pod in separate .pod files but it's now
233   -living back inside the relevant .pm files. Alas, perldoc selects the
234   -older .pod files in preference over the newer .pm. The only solution
235   -at present is to manually delete all the older .pod files in the
236   -Template part of your Perl installation directory. Of course, if I had
237   -thought of this back when I decided to move all the .pod back into the
238   -.pm files...
239   -
240 167 If you're using a Unix based system then the pages should also be
241 168 converted to manpages suring the 'make install'. Thus, you can also:
242 169
@@ -353,62 +280,6 @@ For information about commercial support and consultancy for the Template
353 280 Toolkit, please contact the author.
354 281
355 282
356   -VERSION COMPATABILITY
357   ----------------------
358   -
359   -In terms of the template language and features available, versions
360   -2.01 through to 2.13 should be fully backwardly compatible with
361   -version 2.00.
362   -
363   -Version 2.00 is backwardly compatible with version 1 in all but a few
364   -minor areas. The 'Changes' file details all the visible changes
365   -between version 1 and version 2, including deltas between alphas and
366   -betas. Within this file there is a 'Gotchas' section which lists the
367   -changes that may affect backwards compatability with existing template
368   -files. These are listed in brief below. Please consult the 'Changes'
369   -file for full details.
370   -
371   -* All directive keywords should now be written in UPPER CASE (by default)
372   - to avoid conflict with reserved words. The CASE option is now called
373   - ANYCASE and can be set true to permit lower case directive keywords.
374   -
375   -* CATCH blocks must now be scoped with a TRY block.
376   -
377   -* The ERROR directive is no longer supported. THROW an exception instead
378   - or use the 'stderr' filter if you really must write to STDERR and nowhere
379   - else.
380   -
381   -* The ERROR configuration option (previously used to customise the ERROR
382   - directive) is now used to specify handling for uncaught exceptions.
383   -
384   -* Version 1 allowed (but didn't recommend) the use of a leading '$' on a
385   - variable name (i.e. like Perl) which was silently ignored. Version 2
386   - no longer ignores them and treats it as a variable
387   - pre-interpolation. Most of the time you *don't* want to do this, so
388   - don't add a leading '$' unless you know what you're doing. You can set
389   - V1DOLLAR => 1 to revert to the old behaviour if you really have to.
390   -
391   -* The default tag style for version 1 accepted [% ... %] or %% ... %%
392   - (the latter for backwards compatability with Text::MetaText, the
393   - predecessor to TT). Version 2 now only accepts [% ... %] by default.
394   - You can set TAG_STYLE => 'template1' to get both.
395   -
396   -* The 'into' filter is obsolete. You can now simply assign the output
397   - of a directive into a variable, e.g. [% foo = INCLUDE header %]
398   -
399   -* The IMPORT directive has been removed and replaced by an 'import'
400   - hash method.
401   -
402   -Most of the significant changes are in the internals of the Template
403   -Toolkit. If you have any v1 code that delves into the individual
404   -modules and tinkers with their guts then will need to check the
405   -'Changes' file very carefully indeed and re-evaluate your code in the
406   -light of the new architecture. The internals are cleaner and better
407   -organised making extension code much easier to write. The downside is
408   -that some of the old and crusty ways you previously had to do things
409   -may no longer work.
410   -
411   -
412 283 AUTHOR
413 284 ------
414 285
2  TODO
@@ -3,7 +3,7 @@
3 3 # TODO
4 4 #
5 5 # DESCRIPTION
6   -# TODO list for the Template Toolkit version 2.13, containing
  6 +# TODO list for the Template Toolkit version 2.15, containing
7 7 # known bugs, limitations, planned enhancements, long term visions
8 8 # and a few whacky ideas.
9 9 #
7 bin/tpage
@@ -174,9 +174,6 @@ END_OF_HELP
174 174 exit(0);
175 175 }
176 176
177   -
178   -
179   -
180 177 __END__
181 178
182 179
@@ -231,8 +228,8 @@ L<http://www.andywardley.com/|http://www.andywardley.com/>
231 228
232 229 =head1 VERSION
233 230
234   -2.69, distributed as part of the
235   -Template Toolkit version 2.13, released on 30 January 2004.
  231 +2.65, distributed as part of the
  232 +Template Toolkit version 2.15, released on 30 January 2006.
236 233
237 234 =head1 COPYRIGHT
238 235
6 bin/ttree
@@ -48,7 +48,7 @@ my $TTMODULE = 'Template';
48 48
49 49 # offer create a sample config file if it doesn't exist, unless a '-f'
50 50 # has been specified on the command line
51   -unless (-f $RCFILE or grep(/^-f$/, @ARGV) ) {
  51 +unless (-f $RCFILE or grep(/^(-f|-h|--help)$/, @ARGV) ) {
52 52 print("Do you want me to create a sample '.ttreerc' file for you?\n",
53 53 "(file: $RCFILE) [y/n]: ");
54 54 my $y = <STDIN>;
@@ -1055,8 +1055,8 @@ Brocard who gets everywhere, it seems.
1055 1055
1056 1056 =head1 VERSION
1057 1057
1058   -2.35, distributed as part of the
1059   -Template Toolkit version 2.15, released on 27 January 2006.
  1058 +2.65, distributed as part of the
  1059 +Template Toolkit version 2.15, released on 30 January 2006.
1060 1060
1061 1061 =head1 COPYRIGHT
1062 1062
317 docs/lib/docset/config
@@ -261,7 +261,7 @@ docset => {
261 261 prev => 'Manual',
262 262 next => 'Library',
263 263
264   - pagelist => [ 'Template', 'Base', 'Config', 'Constants', 'Context', 'Document', 'Exception', 'Filters', 'Iterator', 'Namespace_Constants', 'Parser', 'Plugin', 'Plugins', 'Provider', 'Service', 'Stash', 'Stash_Context', 'Stash_XS', 'Test', 'Plugin_Autoformat', 'Plugin_CGI', 'Plugin_DBI', 'Plugin_Datafile', 'Plugin_Date', 'Plugin_Directory', 'Plugin_Dumper', 'Plugin_File', 'Plugin_Filter', 'Plugin_Format', 'Plugin_GD_Image', 'Plugin_GD_Polygon', 'Plugin_GD_Constants', 'Plugin_GD_Text', 'Plugin_GD_Text_Align', 'Plugin_GD_Text_Wrap', 'Plugin_GD_Graph_lines', 'Plugin_GD_Graph_lines3d', 'Plugin_GD_Graph_bars', 'Plugin_GD_Graph_bars3d', 'Plugin_GD_Graph_points', 'Plugin_GD_Graph_linespoints', 'Plugin_GD_Graph_area', 'Plugin_GD_Graph_mixed', 'Plugin_GD_Graph_pie', 'Plugin_GD_Graph_pie3d', 'Plugin_HTML', 'Plugin_Image', 'Plugin_Iterator', 'Plugin_Math', 'Plugin_Pod', 'Plugin_Procedural', 'Plugin_String', 'Plugin_Table', 'Plugin_URL', 'Plugin_View', 'Plugin_Wrap', 'Plugin_XML_DOM', 'Plugin_XML_RSS', 'Plugin_XML_Simple', 'Plugin_XML_Style', 'Plugin_XML_XPath' ],
  264 + pagelist => [ 'Template', 'Base', 'Config', 'Constants', 'Context', 'Document', 'Exception', 'Filters', 'Iterator', 'Namespace_Constants', 'Parser', 'Plugin', 'Plugins', 'Provider', 'Service', 'Stash', 'Stash_Context', 'Stash_XS', 'Test', 'Plugin_Autoformat', 'Plugin_CGI', 'Plugin_Datafile', 'Plugin_Date', 'Plugin_Directory', 'Plugin_Dumper', 'Plugin_File', 'Plugin_Filter', 'Plugin_Format', 'Plugin_HTML', 'Plugin_Image', 'Plugin_Iterator', 'Plugin_Math', 'Plugin_Pod', 'Plugin_Procedural', 'Plugin_String', 'Plugin_Table', 'Plugin_URL', 'Plugin_View', 'Plugin_Wrap' ],
265 265
266 266 pages => {
267 267 Template => {
@@ -535,19 +535,6 @@ docset => {
535 535 about => 'Interface to the CGI module',
536 536
537 537 prev => 'Plugin_Autoformat',
538   - next => 'Plugin_DBI',
539   - },
540   - Plugin_DBI => {
541   - id => 'Plugin_DBI',
542   - name => 'Template::Plugin::DBI',
543   - title => 'Template::Plugin::DBI',
544   - podname => 'Template::Plugin::DBI',
545   - url => 'Modules/Template/Plugin/DBI.html',
546   - uplink => '../../..',
547   - author => 'abw',
548   - about => 'Template interface to the DBI module',
549   -
550   - prev => 'Plugin_CGI',
551 538 next => 'Plugin_Datafile',
552 539 },
553 540 Plugin_Datafile => {
@@ -560,7 +547,7 @@ docset => {
560 547 author => 'abw',
561 548 about => 'Plugin to construct records from a simple data file',
562 549
563   - prev => 'Plugin_DBI',
  550 + prev => 'Plugin_CGI',
564 551 next => 'Plugin_Date',
565 552 },
566 553 Plugin_Date => {
@@ -639,214 +626,6 @@ docset => {
639 626 about => 'Plugin to create formatting functions',
640 627
641 628 prev => 'Plugin_Filter',
642   - next => 'Plugin_GD_Image',
643   - },
644   - Plugin_GD_Image => {
645   - id => 'Plugin_GD_Image',
646   - name => 'Template::Plugin::GD::Image',
647   - title => 'Template::Plugin::GD::Image',
648   - podname => 'Template::Plugin::GD::Image',
649   - url => 'Modules/Template/Plugin/GD/Image.html',
650   - uplink => '../../../..',
651   - author => 'craig',
652   - about => 'Interface to GD Graphics Library',
653   -
654   - prev => 'Plugin_Format',
655   - next => 'Plugin_GD_Polygon',
656   - },
657   - Plugin_GD_Polygon => {
658   - id => 'Plugin_GD_Polygon',
659   - name => 'Template::Plugin::GD::Polygon',
660   - title => 'Template::Plugin::GD::Polygon',
661   - podname => 'Template::Plugin::GD::Polygon',
662   - url => 'Modules/Template/Plugin/GD/Polygon.html',
663   - uplink => '../../../..',
664   - author => 'craig',
665   - about => 'Interface to GD module Polygon class',
666   -
667   - prev => 'Plugin_GD_Image',
668   - next => 'Plugin_GD_Constants',
669   - },
670   - Plugin_GD_Constants => {
671   - id => 'Plugin_GD_Constants',
672   - name => 'Template::Plugin::GD::Constants',
673   - title => 'Template::Plugin::GD::Constants',
674   - podname => 'Template::Plugin::GD::Constants',
675   - url => 'Modules/Template/Plugin/GD/Constants.html',
676   - uplink => '../../../..',
677   - author => 'craig',
678   - about => 'Interface to GD module constants',
679   -
680   - prev => 'Plugin_GD_Polygon',
681   - next => 'Plugin_GD_Text',
682   - },
683   - Plugin_GD_Text => {
684   - id => 'Plugin_GD_Text',
685   - name => 'Template::Plugin::GD::Text',
686   - title => 'Template::Plugin::GD::Text',
687   - podname => 'Template::Plugin::GD::Text',
688   - url => 'Modules/Template/Plugin/GD/Text.html',
689   - uplink => '../../../..',
690   - author => 'craig',
691   - about => 'Text utilities for use with GD',
692   -
693   - prev => 'Plugin_GD_Constants',
694   - next => 'Plugin_GD_Text_Align',
695   - },
696   - Plugin_GD_Text_Align => {
697   - id => 'Plugin_GD_Text_Align',
698   - name => 'Template::Plugin::GD::Text::Align',
699   - title => 'Template::Plugin::GD::Text::Align',
700   - podname => 'Template::Plugin::GD::Text::Align',
701   - url => 'Modules/Template/Plugin/GD/Text/Align.html',
702   - uplink => '../../../../..',
703   - author => 'craig',
704   - about => 'Draw aligned strings in GD images',
705   -
706   - prev => 'Plugin_GD_Text',
707   - next => 'Plugin_GD_Text_Wrap',
708   - },
709   - Plugin_GD_Text_Wrap => {
710   - id => 'Plugin_GD_Text_Wrap',
711   - name => 'Template::Plugin::GD::Text::Wrap',
712   - title => 'Template::Plugin::GD::Text::Wrap',
713   - podname => 'Template::Plugin::GD::Text::Wrap',
714   - url => 'Modules/Template/Plugin/GD/Text/Wrap.html',
715   - uplink => '../../../../..',
716   - author => 'craig',
717   - about => 'Break and wrap strings in GD images',
718   -
719   - prev => 'Plugin_GD_Text_Align',
720   - next => 'Plugin_GD_Graph_lines',
721   - },
722   - Plugin_GD_Graph_lines => {
723   - id => 'Plugin_GD_Graph_lines',
724   - name => 'Template::Plugin::GD::Graph::lines',
725   - title => 'Template::Plugin::GD::Graph::lines',
726   - podname => 'Template::Plugin::GD::Graph::lines',
727   - url => 'Modules/Template/Plugin/GD/Graph/lines.html',
728   - uplink => '../../../../..',
729   - author => 'craig',
730   - about => 'Create line graphs with axes and legends',
731   -
732   - prev => 'Plugin_GD_Text_Wrap',
733   - next => 'Plugin_GD_Graph_lines3d',
734   - },
735   - Plugin_GD_Graph_lines3d => {
736   - id => 'Plugin_GD_Graph_lines3d',
737   - name => 'Template::Plugin::GD::Graph::lines3d',
738   - title => 'Template::Plugin::GD::Graph::lines3d',
739   - podname => 'Template::Plugin::GD::Graph::lines3d',
740   - url => 'Modules/Template/Plugin/GD/Graph/lines3d.html',
741   - uplink => '../../../../..',
742   - author => 'craig',
743   - about => 'Create 3D line graphs with axes and legends',
744   -
745   - prev => 'Plugin_GD_Graph_lines',
746   - next => 'Plugin_GD_Graph_bars',
747   - },
748   - Plugin_GD_Graph_bars => {
749   - id => 'Plugin_GD_Graph_bars',
750   - name => 'Template::Plugin::GD::Graph::bars',
751   - title => 'Template::Plugin::GD::Graph::bars',
752   - podname => 'Template::Plugin::GD::Graph::bars',
753   - url => 'Modules/Template/Plugin/GD/Graph/bars.html',
754   - uplink => '../../../../..',
755   - author => 'craig',
756   - about => 'Create bar graphs with axes and legends',
757   -
758   - prev => 'Plugin_GD_Graph_lines3d',
759   - next => 'Plugin_GD_Graph_bars3d',
760   - },
761   - Plugin_GD_Graph_bars3d => {
762   - id => 'Plugin_GD_Graph_bars3d',
763   - name => 'Template::Plugin::GD::Graph::bars3d',
764   - title => 'Template::Plugin::GD::Graph::bars3d',
765   - podname => 'Template::Plugin::GD::Graph::bars3d',
766   - url => 'Modules/Template/Plugin/GD/Graph/bars3d.html',
767   - uplink => '../../../../..',
768   - author => 'craig',
769   - about => 'Create 3D bar graphs with axes and legends',
770   -
771   - prev => 'Plugin_GD_Graph_bars',
772   - next => 'Plugin_GD_Graph_points',
773   - },
774   - Plugin_GD_Graph_points => {
775   - id => 'Plugin_GD_Graph_points',
776   - name => 'Template::Plugin::GD::Graph::points',
777   - title => 'Template::Plugin::GD::Graph::points',
778   - podname => 'Template::Plugin::GD::Graph::points',
779   - url => 'Modules/Template/Plugin/GD/Graph/points.html',
780   - uplink => '../../../../..',
781   - author => 'craig',
782   - about => 'Create point graphs with axes and legends',
783   -
784   - prev => 'Plugin_GD_Graph_bars3d',
785   - next => 'Plugin_GD_Graph_linespoints',
786   - },
787   - Plugin_GD_Graph_linespoints => {
788   - id => 'Plugin_GD_Graph_linespoints',
789   - name => 'Template::Plugin::GD::Graph::linespoints',
790   - title => 'Template::Plugin::GD::Graph::linespoints',
791   - podname => 'Template::Plugin::GD::Graph::linespoints',
792   - url => 'Modules/Template/Plugin/GD/Graph/linespoints.html',
793   - uplink => '../../../../..',
794   - author => 'craig',
795   - about => 'Create line/point graphs with axes and legends',
796   -
797   - prev => 'Plugin_GD_Graph_points',
798   - next => 'Plugin_GD_Graph_area',
799   - },
800   - Plugin_GD_Graph_area => {
801   - id => 'Plugin_GD_Graph_area',
802   - name => 'Template::Plugin::GD::Graph::area',
803   - title => 'Template::Plugin::GD::Graph::area',
804   - podname => 'Template::Plugin::GD::Graph::area',
805   - url => 'Modules/Template/Plugin/GD/Graph/area.html',
806   - uplink => '../../../../..',
807   - author => 'craig',
808   - about => 'Create area graphs with axes and legends',
809   -
810   - prev => 'Plugin_GD_Graph_linespoints',
811   - next => 'Plugin_GD_Graph_mixed',
812   - },
813   - Plugin_GD_Graph_mixed => {
814   - id => 'Plugin_GD_Graph_mixed',
815   - name => 'Template::Plugin::GD::Graph::mixed',
816   - title => 'Template::Plugin::GD::Graph::mixed',
817   - podname => 'Template::Plugin::GD::Graph::mixed',
818   - url => 'Modules/Template/Plugin/GD/Graph/mixed.html',
819   - uplink => '../../../../..',
820   - author => 'craig',
821   - about => 'Create mixed graphs with axes and legends',
822   -
823   - prev => 'Plugin_GD_Graph_area',
824   - next => 'Plugin_GD_Graph_pie',
825   - },
826   - Plugin_GD_Graph_pie => {
827   - id => 'Plugin_GD_Graph_pie',
828   - name => 'Template::Plugin::GD::Graph::pie',
829   - title => 'Template::Plugin::GD::Graph::pie',
830   - podname => 'Template::Plugin::GD::Graph::pie',
831   - url => 'Modules/Template/Plugin/GD/Graph/pie.html',
832   - uplink => '../../../../..',
833   - author => 'craig',
834   - about => 'Create pie charts with legends',
835   -
836   - prev => 'Plugin_GD_Graph_mixed',
837   - next => 'Plugin_GD_Graph_pie3d',
838   - },
839   - Plugin_GD_Graph_pie3d => {
840   - id => 'Plugin_GD_Graph_pie3d',
841   - name => 'Template::Plugin::GD::Graph::pie3d',
842   - title => 'Template::Plugin::GD::Graph::pie3d',
843   - podname => 'Template::Plugin::GD::Graph::pie3d',
844   - url => 'Modules/Template/Plugin/GD/Graph/pie3d.html',
845   - uplink => '../../../../..',
846   - author => 'craig',
847   - about => 'Create 3D pie charts with legends',
848   -
849   - prev => 'Plugin_GD_Graph_pie',
850 629 next => 'Plugin_HTML',
851 630 },
852 631 Plugin_HTML => {
@@ -859,7 +638,7 @@ docset => {
859 638 author => 'abw',
860 639 about => 'Plugin to create HTML elements',
861 640
862   - prev => 'Plugin_GD_Graph_pie3d',
  641 + prev => 'Plugin_Format',
863 642 next => 'Plugin_Image',
864 643 },
865 644 Plugin_Image => {
@@ -990,71 +769,6 @@ docset => {
990 769 about => 'Plugin interface to Text::Wrap',
991 770
992 771 prev => 'Plugin_View',
993   - next => 'Plugin_XML_DOM',
994   - },
995   - Plugin_XML_DOM => {
996   - id => 'Plugin_XML_DOM',
997   - name => 'Template::Plugin::XML::DOM',
998   - title => 'Template::Plugin::XML::DOM',
999   - podname => 'Template::Plugin::XML::DOM',
1000   - url => 'Modules/Template/Plugin/XML/DOM.html',
1001   - uplink => '../../../..',
1002   - author => 'abw',
1003   - about => 'Plugin interface to XML::DOM',
1004   -
1005   - prev => 'Plugin_Wrap',
1006   - next => 'Plugin_XML_RSS',
1007   - },
1008   - Plugin_XML_RSS => {
1009   - id => 'Plugin_XML_RSS',
1010   - name => 'Template::Plugin::XML::RSS',
1011   - title => 'Template::Plugin::XML::RSS',
1012   - podname => 'Template::Plugin::XML::RSS',
1013   - url => 'Modules/Template/Plugin/XML/RSS.html',
1014   - uplink => '../../../..',
1015   - author => 'abw',
1016   - about => 'Plugin interface to XML::RSS',
1017   -
1018   - prev => 'Plugin_XML_DOM',
1019   - next => 'Plugin_XML_Simple',
1020   - },
1021   - Plugin_XML_Simple => {
1022   - id => 'Plugin_XML_Simple',
1023   - name => 'Template::Plugin::XML::Simple',
1024   - title => 'Template::Plugin::XML::Simple',
1025   - podname => 'Template::Plugin::XML::Simple',
1026   - url => 'Modules/Template/Plugin/XML/Simple.html',
1027   - uplink => '../../../..',
1028   - author => 'abw',
1029   - about => 'Plugin interface to XML::Simple',
1030   -
1031   - prev => 'Plugin_XML_RSS',
1032   - next => 'Plugin_XML_Style',
1033   - },
1034   - Plugin_XML_Style => {
1035   - id => 'Plugin_XML_Style',
1036   - name => 'Template::Plugin::XML::Style',
1037   - title => 'Template::Plugin::XML::Style',
1038   - podname => 'Template::Plugin::XML::Style',
1039   - url => 'Modules/Template/Plugin/XML/Style.html',
1040   - uplink => '../../../..',
1041   - author => 'abw',
1042   - about => 'Simple XML stylesheet transfomations',
1043   -
1044   - prev => 'Plugin_XML_Simple',
1045   - next => 'Plugin_XML_XPath',
1046   - },
1047   - Plugin_XML_XPath => {
1048   - id => 'Plugin_XML_XPath',
1049   - name => 'Template::Plugin::XML::XPath',
1050   - title => 'Template::Plugin::XML::XPath',
1051   - podname => 'Template::Plugin::XML::XPath',
1052   - url => 'Modules/Template/Plugin/XML/XPath.html',
1053   - uplink => '../../../..',
1054   - author => 'abw',
1055   - about => 'Plugin interface to XML::XPath',
1056   -
1057   - prev => 'Plugin_XML_Style',
1058 772 next => '',
1059 773 },
1060 774
@@ -1377,7 +1091,6 @@ docset => {
1377 1091 'Template::Test' => 'Modules/Template/Test.html',
1378 1092 'Template::Plugin::Autoformat' => 'Modules/Template/Plugin/Autoformat.html',
1379 1093 'Template::Plugin::CGI' => 'Modules/Template/Plugin/CGI.html',
1380   - 'Template::Plugin::DBI' => 'Modules/Template/Plugin/DBI.html',
1381 1094 'Template::Plugin::Datafile' => 'Modules/Template/Plugin/Datafile.html',
1382 1095 'Template::Plugin::Date' => 'Modules/Template/Plugin/Date.html',
1383 1096 'Template::Plugin::Directory' => 'Modules/Template/Plugin/Directory.html',
@@ -1385,22 +1098,6 @@ docset => {
1385 1098 'Template::Plugin::File' => 'Modules/Template/Plugin/File.html',
1386 1099 'Template::Plugin::Filter' => 'Modules/Template/Plugin/Filter.html',
1387 1100 'Template::Plugin::Format' => 'Modules/Template/Plugin/Format.html',
1388   - 'Template::Plugin::GD::Image' => 'Modules/Template/Plugin/GD/Image.html',
1389   - 'Template::Plugin::GD::Polygon' => 'Modules/Template/Plugin/GD/Polygon.html',
1390   - 'Template::Plugin::GD::Constants' => 'Modules/Template/Plugin/GD/Constants.html',
1391   - 'Template::Plugin::GD::Text' => 'Modules/Template/Plugin/GD/Text.html',
1392   - 'Template::Plugin::GD::Text::Align' => 'Modules/Template/Plugin/GD/Text/Align.html',
1393   - 'Template::Plugin::GD::Text::Wrap' => 'Modules/Template/Plugin/GD/Text/Wrap.html',
1394   - 'Template::Plugin::GD::Graph::lines' => 'Modules/Template/Plugin/GD/Graph/lines.html',
1395   - 'Template::Plugin::GD::Graph::lines3d' => 'Modules/Template/Plugin/GD/Graph/lines3d.html',
1396   - 'Template::Plugin::GD::Graph::bars' => 'Modules/Template/Plugin/GD/Graph/bars.html',
1397   - 'Template::Plugin::GD::Graph::bars3d' => 'Modules/Template/Plugin/GD/Graph/bars3d.html',
1398   - 'Template::Plugin::GD::Graph::points' => 'Modules/Template/Plugin/GD/Graph/points.html',
1399   - 'Template::Plugin::GD::Graph::linespoints' => 'Modules/Template/Plugin/GD/Graph/linespoints.html',
1400   - 'Template::Plugin::GD::Graph::area' => 'Modules/Template/Plugin/GD/Graph/area.html',
1401   - 'Template::Plugin::GD::Graph::mixed' => 'Modules/Template/Plugin/GD/Graph/mixed.html',
1402   - 'Template::Plugin::GD::Graph::pie' => 'Modules/Template/Plugin/GD/Graph/pie.html',
1403   - 'Template::Plugin::GD::Graph::pie3d' => 'Modules/Template/Plugin/GD/Graph/pie3d.html',
1404 1101 'Template::Plugin::HTML' => 'Modules/Template/Plugin/HTML.html',
1405 1102 'Template::Plugin::Image' => 'Modules/Template/Plugin/Image.html',
1406 1103 'Template::Plugin::Iterator' => 'Modules/Template/Plugin/Iterator.html',
@@ -1412,11 +1109,6 @@ docset => {
1412 1109 'Template::Plugin::URL' => 'Modules/Template/Plugin/URL.html',
1413 1110 'Template::Plugin::View' => 'Modules/Template/Plugin/View.html',
1414 1111 'Template::Plugin::Wrap' => 'Modules/Template/Plugin/Wrap.html',
1415   - 'Template::Plugin::XML::DOM' => 'Modules/Template/Plugin/XML/DOM.html',
1416   - 'Template::Plugin::XML::RSS' => 'Modules/Template/Plugin/XML/RSS.html',
1417   - 'Template::Plugin::XML::Simple' => 'Modules/Template/Plugin/XML/Simple.html',
1418   - 'Template::Plugin::XML::Style' => 'Modules/Template/Plugin/XML/Style.html',
1419   - 'Template::Plugin::XML::XPath' => 'Modules/Template/Plugin/XML/XPath.html',
1420 1112 'Template::Modules' => 'Modules/index.html',
1421 1113 'Template::Library::HTML' => 'Library/HTML.html',
1422 1114 'Template::Library::Splash' => 'Library/Splash.html',
@@ -1436,13 +1128,10 @@ docset => {
1436 1128 cpan => {
1437 1129 'CGI' => 'CGI',
1438 1130 'Data::Dumper' => 'Data::Dumper',
1439   - 'DBI' => 'DBI',
1440 1131 'Exporter' => 'Exporter',
1441   - 'GD' => 'GD',
1442 1132 'Pod::POM' => 'Pod::POM',
1443 1133 'POSIX' => 'POSIX',
1444 1134 'Text::Autoformat' => 'Text::Autoformat',
1445   - 'Tie::DBI' => 'Tie::DBI',
1446 1135 },
1447 1136 };
1448 1137 -%]
4 docs/src/FAQ/FAQ.html
@@ -332,8 +332,8 @@
332 332 [% WRAPPER section
333 333 title="VERSION"
334 334 -%]<p>
335   -2.69, distributed as part of the
336   -Template Toolkit version 2.13, released on 30 January 2004.
  335 +2.65, distributed as part of the
  336 +Template Toolkit version 2.15, released on 30 January 2006.
337 337 </p>
338 338 [%- END %]
339 339 [% WRAPPER section
4 docs/src/Library/HTML.html
@@ -292,8 +292,8 @@
292 292 [% WRAPPER section
293 293 title="VERSION"
294 294 -%]<p>
295   -2.69, distributed as part of the
296   -Template Toolkit version 2.13, released on 30 January 2004.
  295 +2.65, distributed as part of the
  296 +Template Toolkit version 2.15, released on 30 January 2006.
297 297 </p>
298 298 [%- END %]
299 299 [% WRAPPER section
4 docs/src/Library/PostScript.html
@@ -47,8 +47,8 @@
47 47 [% WRAPPER section
48 48 title="VERSION"
49 49 -%]<p>
50   -2.69, distributed as part of the
51   -Template Toolkit version 2.13, released on 30 January 2004.
  50 +2.65, distributed as part of the
  51 +Template Toolkit version 2.15, released on 30 January 2006.
52 52 </p>
53 53 [%- END %]
54 54 [% WRAPPER section
4 docs/src/Library/Splash.html
@@ -892,8 +892,8 @@
892 892 [% WRAPPER section
893 893 title="VERSION"
894 894 -%]<p>
895   -2.69, distributed as part of the
896   -Template Toolkit version 2.13, released on 30 January 2004.
  895 +2.65, distributed as part of the
  896 +Template Toolkit version 2.15, released on 30 January 2006.
897 897 </p>
898 898 [%- END %]
899 899 [% WRAPPER section
88 docs/src/Manual/Config.html
@@ -1088,44 +1088,44 @@
1088 1088 example 1 (file name):
1089 1089 </p>
1090 1090 <pre> my $template = Template-&gt;new({
1091   - OUTPUT =&gt; &quot;/tmp/foo&quot;,
  1091 + OUTPUT =&gt; &quot;/tmp/foo&quot;,
1092 1092 });</pre>
1093 1093 <p>
1094 1094 example 2 (text string):
1095 1095 </p>
1096 1096 <pre> my $output = '';</pre>
1097 1097 <pre> my $template = Template-&gt;new({
1098   - OUTPUT =&gt; \$output,
  1098 + OUTPUT =&gt; \$output,
1099 1099 });</pre>
1100 1100 <p>
1101 1101 example 3 (file handle):
1102 1102 </p>
1103 1103 <pre> open (TOUT, &quot;&gt; $file&quot;) || die &quot;$file: $!\n&quot;;</pre>
1104 1104 <pre> my $template = Template-&gt;new({
1105   - OUTPUT =&gt; \*TOUT,
  1105 + OUTPUT =&gt; \*TOUT,
1106 1106 });</pre>
1107 1107 <p>
1108 1108 example 4 (subroutine):
1109 1109 </p>
1110 1110 <pre> sub output { my $out = shift; print &quot;OUTPUT: $out&quot; }</pre>
1111 1111 <pre> my $template = Template-&gt;new({
1112   - OUTPUT =&gt; \&amp;output,
  1112 + OUTPUT =&gt; \&amp;output,
1113 1113 });</pre>
1114 1114 <p>
1115 1115 example 5 (array reference):
1116 1116 </p>
1117 1117 <pre> my $template = Template-&gt;new({
1118   - OUTPUT =&gt; \@output,
  1118 + OUTPUT =&gt; \@output,
1119 1119 })</pre>
1120 1120 <p>
1121 1121 example 6 (Apache/mod_perl handler):
1122 1122 </p>
1123 1123 <pre> sub handler {
1124   - my $r = shift;</pre>
1125   -<pre> my $t = Template-&gt;new({
1126   - OUTPUT =&gt; $r,
1127   - });
1128   - ...
  1124 + my $r = shift;</pre>
  1125 +<pre> my $t = Template-&gt;new({
  1126 + OUTPUT =&gt; $r,
  1127 + });
  1128 + ...
1129 1129 }</pre>
1130 1130 <p>
1131 1131 The default OUTPUT location be overridden by passing a third parameter
@@ -1133,7 +1133,7 @@
1133 1133 above argument types.
1134 1134 </p>
1135 1135 <pre> $t-&gt;process($file, $vars, &quot;/tmp/foo&quot;);
1136   - $t-&gt;process($file, $vars, &quot;bar&quot;);
  1136 + $t-&gt;process($file, $vars, \$output);
1137 1137 $t-&gt;process($file, $vars, \*MYGLOB);
1138 1138 $t-&gt;process($file, $vars, \@output);
1139 1139 $t-&gt;process($file, $vars, $r); # Apache::Request
@@ -1432,12 +1432,25 @@
1432 1432 redefined by values in the PLUGINS hash.
1433 1433 </p>
1434 1434 <pre> my $template = Template-&gt;new({
1435   - PLUGINS =&gt; {
1436   - cgi =&gt; 'MyOrg::Template::Plugin::CGI',
1437   - foo =&gt; 'MyOrg::Template::Plugin::Foo',
1438   - bar =&gt; 'MyOrg::Template::Plugin::Bar',
1439   - },
1440   - });</pre>
  1435 + PLUGINS =&gt; {
  1436 + cgi =&gt; 'MyOrg::Template::Plugin::CGI',
  1437 + foo =&gt; 'MyOrg::Template::Plugin::Foo',
  1438 + bar =&gt; 'MyOrg::Template::Plugin::Bar',
  1439 + },
  1440 + }); </pre>
  1441 +<p>
  1442 +The recommended convention is to specify these plugin names in lower
  1443 +case. The Template Toolkit first looks for an exact case-sensitive
  1444 +match and then tries the lower case conversion of the name specified.
  1445 +</p>
  1446 +<pre> [% tt_start_tag %] USE Foo [% tt_end_tag %] # look for 'Foo' then 'foo'</pre>
  1447 +<p>
  1448 +If you define all your PLUGINS with lower case names then they will be
  1449 +located regardless of how the user specifies the name in the USE
  1450 +directive. If, on the other hand, you define your PLUGINS with upper
  1451 +or mixed case names then the name specified in the USE directive must
  1452 +match the case exactly.
  1453 +</p>
1441 1454 <p>
1442 1455 The USE directive is used to create plugin objects and does so by
1443 1456 calling the plugin() method on the current Template::Context object.
@@ -1448,8 +1461,8 @@
1448 1461 new() method can be called to instantiate individual plugin objects.
1449 1462 </p>
1450 1463 <p>
1451   -If the plugin name is not defined in the PLUGINS hash then the PLUGIN_BASE
1452   -and/or LOAD_PERL options come into effect.
  1464 +If the plugin name is not defined in the PLUGINS hash then the
  1465 +PLUGIN_BASE and/or LOAD_PERL options come into effect.
1453 1466 </p>
1454 1467
1455 1468 <li><b>PLUGIN_BASE</b><br>
@@ -1459,18 +1472,16 @@
1459 1472 loaded.
1460 1473 </p>
1461 1474 <p>
1462   -The PLUGIN_BASE can be specified as a single value or as a reference
1463   -to an array of multiple values. The default PLUGIN_BASE value,
1464   -'Template::Plugin', is always added the the end of the PLUGIN_BASE
1465   -list (a single value is first converted to a list). Each value should
1466   -contain a Perl package name to which the requested plugin name is
1467   -appended.
  1475 +The PLUGIN_BASE can be specified as a reference to an array of module
  1476 +namespaces, or as a single value which is automatically converted to a
  1477 +list. The default PLUGIN_BASE value ('Template::Plugin') is then added
  1478 +to the end of this list.
1468 1479 </p>
1469 1480 <p>
1470 1481 example 1:
1471 1482 </p>
1472 1483 <pre> my $template = Template-&gt;new({
1473   - PLUGIN_BASE =&gt; 'MyOrg::Template::Plugin',