Tutorial
Manual
Modules
Library
Tools
FAQ
Release
   
Template Toolkit | Library | HTML: HTML Library

HTML Library

Splash! Library  
Template library for building basic HTML pages

Table of Contents

DESCRIPTION Index  ] [ Library  ] [ Top  ]

NOTE: This documentation is incomplete and may be incorrect in places.

The 'html' template library is distributed as part of the Template Toolkit. It can be found in the 'templates' sub-directory of the installation directory.

    use Template;
    my $tt2 = Template->new({
	INCLUDE_PATH => '/usr/local/tt2/templates',
    });

For a portable way to determine the installation 'templates' directory, you can use the 'Template::Config->instdir()' class method.

    use Template;
    my $tt2 = Template->new({
	INCLUDE_PATH => Template::Config->instdir('templates'),
    });

You should now be able to access the html library as, for example:

    [% INCLUDE html/header %]

Note that some of the more basic elements don't give you much more than the raw HTML tags. In many cases you might be well advised to stick to regular HTML rather than complicating matters by the use of template elements.

e.g.

    <table>
      . . .
    </table>

vs

    [% WRAPPER html/table %]
       . . .
    [% END %]

However, the use of template elements to generate the underlying HTML does have some important benefits, particularly as the constructs start to get more complicated and more magical.

See the example in the 'examples' sub-directory of the distribution directory for further examples and enlightenment on using this library.

Headers, Footers and Pages

  • header

    The 'header' element generates the regular header required as the pre-amble for an HTML document. That is, everything from the initial <html> to the opening <body>.

        [% INCLUDE html/header
             title = 'This is a Test'
    	 bgcol = '#ffffff'
        %]

    Additional header items can be provided by explicitly setting the 'headers' variable, e.g.

        [% headers = BLOCK %]
        <META name="description" content="Template Toolkit">
        <META name="REVISIT-AFTER" content="14 days">	
        <META name="keywords" content="Templates, Web, ...etc...">
        [% END %]
        [% INCLUDE html/header
    	 title = 'This is a Test'
    	 bgcol = '#ffffff'
        %]
  • footer

    The 'footer' element generates the terminating </body> and </html> element to balance the header.

        [% PROCESS html/header %]
        ...page content here...
        [% PROCESS html/footer %]
  • page

    The 'page' element combines the 'html/header' and 'html/footer' elements.

        [% WRAPPER html/page %]
        ...page content here...
        [% END %]

    Page content should be defined in the 'content' variable (e.g. via WRAPPER). Additional HTML headers should be defined in the 'headers' variable.

        [% WRAPPER html/page
            headers = '<META name="keywords" content="foo, bar, ...">'
        %]
        ...page content here...
        [% END %]

Tables, Bars and Boxes

  • table

    A basic element for creating HTML tables.

        [% WRAPPER html/table pad=10 space=4 col='#404040' %]
           <tr>
    	<td>Hello</td> <td>World</td>
           </tr>
        [% END %]

    The following variables may be defined:

    • border

      Set the border width (default: 0)

    • col

      Set the background colour (default: none).

    • width

      Set a fixed table width.

    • pad

      Set the cellpadding.

    • space

      Set the cellspacing.

    • content

      Content for the box. Supplied automatically if used via WRAPPER.

  • row

    A basic element for creating HTML table rows.

        [% WRAPPER html/table %]
           [% WRAPPER html/row %]
    	<td>Hello</td> <td>World</td>
           [% END %]
        [% END %]

    The following variables may be defined:

    • col

      Set the background colour (default: none).

    • valign

      Set the vertical alignment.

    • rowspan

      Specify the number of rows to span.

    • content

      Content for the box. Supplied automatically if used via WRAPPER.

  • cell

    A basic element for creating HTML table cells.

        [% WRAPPER html/table %]
           [% WRAPPER html/row %]
    	  [% INCLUDE html/cell 
    		FOREACH content = ['Hello', 'World'] %]
           [% END %]
        [% END %]

    The following variables may be defined:

    • col

      Set the background colour (default: none).

    • align

      Set the horizontal alignment.

    • colspan

      Specify the number of columns to span.

    • content

      Content for the cell. Supplied automatically if used via WRAPPER.

  • bar

    The bar element is a wrapping of html/table + html/row.

        [% WRAPPER html/bar %]
           <td>Foo</td>  <td>Bar</td>
        [% END %]
  • box

    The box element is a wrapping of html/table + html/row + html/cell

        [% WRAPPER html/box %]
           Hello World!
        [% END %]

AUTHOR Index  ] [ Library  ] [ Top  ]

Andy Wardley <[email protected]>

http://www.andywardley.com/

VERSION Index  ] [ Library  ] [ Top  ]

2.70, distributed as part of the Template Toolkit version 2.14, released on 04 October 2004.

COPYRIGHT Index  ] [ Library  ] [ Top  ]

  Copyright (C) 1996-2004 Andy Wardley.  All Rights Reserved.
  Copyright (C) 1998-2002 Canon Research Centre Europe Ltd.

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

SEE ALSO Index  ] [ Library  ] [ Top  ]

Template::Library::Splash


Splash! Library  
Tutorial
Manual
Modules
Library
Tools
FAQ
Release
http://www.template-toolkit.org/