Template-Toolkit

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


  - Removed test for platform specific error messages from t/xpath.t
    Removed warning from README that this test would fail.  Thanks
    again to Leon for the patch and to <umun@yahoo.com> (no name
    given) for reporting the problem.

  - Applied another patch from Leon to fix Template::Base.pm to avoid
    "Use of uninitialized value..." warnings.

  - Applied yet more patches from Leon to add "use Template::Plugin" or
    something similar to the File, Directory and View plugins.  'use
    base' doesn't work as advertised (e.g. in ensuring the module is
    loaded) in older versions of Perl.

  - Fixed t/leak.t to only run one particular test if Perl version is
    5.6.0 or greater.  Test fails on earlier versions due to destructors
    being called in a different order.

  - Updated Makefile.PL to supply a more typical default installation
    directory for Win32 systems - C:/Program File/Template Toolkit 2/.
    This brought to light numerous bugs (following) which were fixed
    with the invaluable help of Simon Matthews and Theakston's Black
    Sheep Ale... :-)

  - Pathnames generated in the Makefile.PL for the Makefile are now all
    "double quoted" to protect embedded whitespace, e.g. when building
    docs: ttree -f "C:/Program Files/...")

  - Patched Template/Provider.pm in several places to strip out any
    extra ':' characters put in the wrong place of a path.  For example,
    when writing compiled template "C:/foo" to disk with a COMPILE_DIR
    of "C:/bar", the resulting file is now "C:/bar/C/foo" instead of
    the erroneous "C:/bar/C:/foo".

  - On Win32 systems, provider prefixes must be more than 1 character in
    length.  This is a compromise for cases where you might want to do
    something like: [% INCLUDE C:/foo/bar %].  Remains unchanged on
    other platforms.

  - On Win32 systems the DELIMITER now defaults to a slight variation of
    ':' if not otherwise set.  It now uses /:(?!\/)/ to split on ':'
    where not followed by '/'.  This makes things like INCLUDE_PATH =>
    'C:/here:C:/there' work properly, although setting a more suitable
    DELIMITER for Win32 systems (e.g. ';') is still recommended (we tried
    automatically setting it to ';' on Win32, but that caused more problems
    than it was worth).

  - Changed Template::Provider to consider a file starting (\w:)?/ as an
    ABSOLUTE path when running on Win32 (e.g. C:/foo).  On other
    platforms, it remains unchanged, looking only for a leading '/'.
    Also changed ttree to do the same, so that 'ttree -f C:/test.cfg'
    is treated as an absolute path and it doesn't try and prefix it
    with the ttree configuration file directory.  Note that ttree
    does this regardless of OS.

  - Fixed stringification problem identified by SAM.  Objects that have
    auto-stringification sometimes didn't get properly stringified at the
    right time.  e.g. [% a = "$an_obj" %].

  - Fixed File and Directory plugins to gracefully ignore Perl dying with
    "getpwuid() not supported on this platform" errors on Win32.  The
    'uid' and 'user' attributes of File and Directory plugin objects
    are left undefined.

  - Then, hacked t/file.t and t/directry.t test to not be run under
    Win32.  There are a couple of outstanding minor problems with these
    test scripts caused by differences in '/' and '\' as path
    separators.  Need to fix these at some point.

  - Makefile.PL now saves configuration options in '.defaults.cfg'
    file, using these values as defaults when run again.

  - Removed duplicated $VERSION from DBI and XML::DOM plugins, thanks
    to Jonathan Leffler.

  - Updated documentation to reflect new changes.

2.01 2001-03-30

  - Added the various template libraries in the 'templates' directory.
    The 'html' library implements some generally useful HTML elements.
    The 'pod/html' libraray contains some templates for converting POD to
    HTML, used in building the TT2 HTML documentation, for example.  The
    'ps' library contains templates defining a few useful marks and other
    procedures for generating PostScript pages.  The 'splash' directory
    contains templates for the "Splash!" library which implements a
    widget set for building stylish HTML user interfaces.

  - Added a host of example pages in the 'examples' directory which
    demonstrate use of the above libraries.

  - Added an 'images' directory to contain the small images used to build
    up the Splash! interface components.

  - Added the 'docs' directory containing templates and library elements
    for building the TT2 documentation as HTML pages.

  - Updated Makefile.PL to now offer to install optional libraries,
    images, build HTML docs, examples, etc.  Adds 'tt2_install',
    'tt2_html_docs' and 'tt2_examples' as Makefile targets if requested.
    These then get run as part of "make install".

  - Totally re-organised the documentation, splitting the long user manual
    into separate Template::Manual::* pages, adding the Template::FAQ,
    Template::Internals, and various other changes.  All POD and HTML
    documentation is built from the same sources in the form of another
    set of templates, POD files, XML files, scripts, etc., distributed
    separately as the 'docsrc' bundle, and available from the web site.
    The POD documentation now gets glued onto the end of the .pm
    modules and only creates separate .pod files for those manual pages
    that don't have equivalent modules (e.g. Template::FAQ, etc.)
    NOTE: this might mean that existing .pod files from earlier versions
    of TT might mask documentation in newer .pm files...

  - Added the Template::View module, the VIEW directive and the View
    plugin which can be used collectively to create dynamic views.  This
    is a very powerful tool which fulfills a number of requirements and
    makes possible a number of things that have previously been messy,
    difficult or not possible.  Views are primarily collections of
    templates.  You can define BLOCKs within a view and they remain
    local to it, but can be called from outside the view.  This is still



( run in 0.644 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )