Template::Plugin::HTML
Author: Andy Wardley

TT2 Home Page

- Modules
- Template::*
- Plugin::*
- HTML.pm

Click to view the menu. It's very nice. Click to hide the menu and go all widescreen!
Back

#### Template::Plugin::Format

Plugin to create formatting functions Up

#### Template::Plugin::* Modules

Next

#### Template::Plugin::Image

Plugin access to image sizes

# Template::Plugin::HTML

## Plugin to create HTML elements

# Contents

Top

# SYNOPSIS

Top

    [% USE HTML %]

    [% HTML.escape("if (a < b && c > d) ..." %]

    [% HTML.element(table => { border => 1, cellpadding => 2 }) %]

    [% HTML.attributes(border => 1, cellpadding => 2) %]

# DESCRIPTION

Top

The `HTML` plugin is a very basic plugin, implementing a few useful methods for generating HTML.

# METHODS

Top

## escape(text)

Top

Returns the source text with any HTML reserved characters such as `<`, `>`, etc., correctly esacped to their entity equivalents.

## attributes(hash)

Top

Returns the elements of the hash array passed by reference correctly formatted (e.g. values quoted and correctly escaped) as attributes for an HTML element.

## element(type, attributes)

Top

Generates an HTML element of the specified type and with the attributes provided as an optional hash array reference as the second argument or as named arguments.

    [% HTML.element(table => { border => 1, cellpadding => 2 }) %]
    [% HTML.element('table', border=1, cellpadding=2) %]
    [% HTML.element(table => attribs) %]

# DEBUGGING

Top

The HTML plugin accepts a `sorted` option as a constructor argument which, when set to any true value, causes the attributes generated by the `attributes()` method (either directly or via `element()`) to be returned in sorted order. Order of attributes isn't important in HTML, but this is provided mainly for the purposes of debugging where it is useful to have attributes generated in a deterministic order rather than whatever order the hash happened to feel like returning the keys in.

    [% USE HTML(sorted=1) %]
    [% HTML.element( foo => { charlie => 1, bravo => 2, alpha => 3 } ) %]

generates:

    <foo alpha="3" bravo="2" charlie="1">

# AUTHOR

Top

Andy Wardley <abw@wardley.org> http://wardley.org/

# COPYRIGHT

Top

Copyright (C) 1996-2007 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.

# SEE ALSO

Top

Template::Plugin

http://template-toolkit.org/docs/modules/Template/Plugin/HTML.html