Current File : //proc/self/root/usr/share/doc/perl-Template-Toolkit-2.24/modules/Template/Plugin/Autoformat.html |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
<head>
<title>Template Toolkit Documentation</title>
<link rel="stylesheet" type="text/css" href="../../../css/blue.css" title="Clear Blue">
<link rel="alternate stylesheet" type="text/css" href="../../../css/orange.css" title="Clear Orange">
<link rel="alternate stylesheet" type="text/css" href="../../../css/green.css" title="Clear Green">
<link rel="alternate stylesheet" type="text/css" href="../../../css/purple.css" title="Clear Purple">
<link rel="alternate stylesheet" type="text/css" href="../../../css/grey.css" title="Clear Grey">
<link rel="alternate stylesheet" type="text/css" href="../../../css/print.css" title="Print">
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="../../../css/ie6.css" />
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="../../../css/ie7.css" />
<![endif]-->
<link rel="stylesheet" type="text/css" href="../../../css/print.css" media="print">
<script type="text/javascript" src="../../../js/tt2.js"></script>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="author" content="Andy Wardley">
</head>
<body id="body">
<div id="layout">
<div id="header">
<a href="../../../index.html" id="logo" alt="" title="Click for the Home Page"><span class="alt">TT2 Home Page</span></a>
<ul id="trail">
<li><a href="../../../modules/index.html">Modules</a></li>
<li><a href="../../../modules/Template/index.html">Template::*</a></li>
<li><a href="../../../modules/Template/Plugin/index.html">Plugin::*</a></li>
<li class="last"><a href="../../..">???</a></li>
</ul>
<div class="controls">
<a href="#" class="menu show" onclick="widescreen_off(); return false" title="Show Menu">
<span class="about">Click to view the menu. It's very nice.</span>
</a>
<a href="#" class="menu hide" onclick="widescreen_on(); return false" title="Hide Menu">
<span class="about">Click to hide the menu and go all widescreen!</span>
</a>
<div class="pager">
<span class="go back">Back<span class="about">If you are going back, be sure to wear some flowers in your hair...</span></span>
<span class="go up">Up<span class="about">Have you seen my skateboard? I left it around here somewhere...</span></span>
<span class="go next">Next<span class="about">Go to the next page? Are you mad?</span></span>
</div>
</div>
<h1 class="headline"></h1>
</div>
<div id="page">
<div id="sidebar">
<a href="../../../index.html" id="logo"></a>
<div id="menu">
<ul class="menu">
<li class="l0 first"><a href="../../../manual/index.html">Manual</a></li>
<li class="l0"><a href="../../../modules/index.html" class="warm">Modules</a></li>
<li class="l1"><a href="../../../modules/Template.html">Template.pm</a></li>
<li class="l1"><a href="../../../modules/Template/index.html" class="warm">Template::*</a></li>
<li class="l2"><a href="../../../modules/Template/Base.html">Base.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Config.html">Config.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Constants.html">Constants.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Context.html">Context.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Directive.html">Directive.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Document.html">Document.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Exception.html">Exception.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Filters.html">Filters.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Grammar.html">Grammar.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Iterator.html">Iterator.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Namespace/index.html">Namespace::*</a></li>
<li class="l2"><a href="../../../modules/Template/Parser.html">Parser.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Plugin.html">Plugin.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Plugin/index.html" class="warm">Plugin::*</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Assert.html">Assert.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/CGI.html">CGI.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Datafile.html">Datafile.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Date.html">Date.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Directory.html">Directory.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Dumper.html">Dumper.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/File.html">File.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Filter.html">Filter.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Format.html">Format.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/HTML.html">HTML.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Image.html">Image.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Iterator.html">Iterator.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Math.html">Math.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Pod.html">Pod.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Procedural.html">Procedural.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Scalar.html">Scalar.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/String.html">String.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Table.html">Table.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/URL.html">URL.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/View.html">View.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Wrap.html">Wrap.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Plugins.html">Plugins.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Provider.html">Provider.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Service.html">Service.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Stash.html">Stash.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Stash/index.html">Stash::*</a></li>
<li class="l2"><a href="../../../modules/Template/Test.html">Test.pm</a></li>
<li class="l2"><a href="../../../modules/Template/VMethods.html">VMethods.pm</a></li>
<li class="l2"><a href="../../../modules/Template/View.html">View.pm</a></li>
<li class="l0"><a href="../../../tools/index.html">Tools</a></li>
<li class="l0"><a href="../../../tutorial/index.html">Tutorial</a></li>
<li class="l0 last"><a href="../../../faq/index.html">FAQ</a></li>
</ul>
<div class="foot"></div>
</div>
</div>
<div id="content">
<div class="section">
<div class="head">
<h1 id="contents" onclick="switch_section(this)" title="Click title to show/hide section content.">Contents</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<ul class="toc">
<li class=""><a href="#SYNOPSIS">SYNOPSIS</a></li>
<li class=""><a href="#EXAMPLES">EXAMPLES</a></li>
<li class=""><a href="#DESCRIPTION">DESCRIPTION</a></li>
<li class=""><a href="#AUTHORS">AUTHORS</a></li>
<li class=""><a href="#COPYRIGHT">COPYRIGHT</a></li>
<li class=""><a href="#SEE_ALSO">SEE ALSO</a></li>
</ul>
</div>
</div>
<div class="pod">
<div class="section">
<div class="head">
<h1 id="SYNOPSIS" onclick="switch_section(this)" title="Click title to show/hide section content.">SYNOPSIS</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<pre><span class="tt">[% USE autoformat(options) %]</span>
<span class="tt">[% autoformat(text, more_text, ..., options) %]</span>
<span class="tt">[% FILTER autoformat(options) %]</span>
a block of text
<span class="tt">[% END %]</span></pre>
</div>
</div>
<div class="section">
<div class="head">
<h1 id="EXAMPLES" onclick="switch_section(this)" title="Click title to show/hide section content.">EXAMPLES</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<pre># define some text for the examples
<span class="tt">[% text = BLOCK %]</span>
Be not afeard. The isle is full of noises, sounds and sweet
airs that give delight but hurt not.
<span class="tt">[% END %]</span></pre>
<pre># pass options to constructor...
<span class="tt">[% USE autoformat(case => 'upper') %]</span>
<span class="tt">[% autoformat(text) %]</span>
# and/or pass options to the autoformat subroutine itself
<span class="tt">[% USE autoformat %]</span>
<span class="tt">[% autoformat(text, case => 'upper') %]</span>
# using the autoformat filter
<span class="tt">[% USE autoformat(left => 10, right => 30) %]</span>
<span class="tt">[% FILTER autoformat %]</span>
Be not afeard. The isle is full of noises, sounds and sweet
airs that give delight but hurt not.
<span class="tt">[% END %]</span></pre>
<pre># another filter example with configuration options
<span class="tt">[% USE autoformat %]</span>
<span class="tt">[% FILTER autoformat(left => 20) %]</span>
Be not afeard. The isle is full of noises, sounds and sweet
airs that give delight but hurt not.
<span class="tt">[% END %]</span></pre>
<pre># another FILTER example, defining a 'poetry' filter alias
<span class="tt">[% USE autoformat %]</span>
<span class="tt">[% text FILTER poetry = autoformat(left => 20, right => 40) %]</span>
# reuse the 'poetry' filter alias
<span class="tt">[% text FILTER poetry %]</span></pre>
<pre># shorthand form ('|' is an alias for 'FILTER')
<span class="tt">[% text | autoformat %]</span></pre>
<pre># using forms
<span class="tt">[% USE autoformat(form => '>>>>.<<<', numeric => 'AllPlaces') %]</span>
<span class="tt">[% autoformat(10, 20.32, 11.35) %]</span></pre>
</div>
</div>
<div class="section">
<div class="head">
<h1 id="DESCRIPTION" onclick="switch_section(this)" title="Click title to show/hide section content.">DESCRIPTION</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<p>
The autoformat plugin is an interface to Damian Conway's
<code>Text::Autoformat</code> Perl module which provides advanced text
wrapping and formatting.
</p>
<p>
Configuration options may be passed to the plugin constructor via the
<code>USE</code> directive.
</p>
<pre><span class="tt">[% USE autoformat(right => 30) %]</span></pre>
<p>
The autoformat subroutine can then be called, passing in text items which
will be wrapped and formatted according to the current configuration.
</p>
<pre><span class="tt">[% autoformat('The cat sat on the mat') %]</span></pre>
<p>
Additional configuration items can be passed to the autoformat subroutine
and will be merged with any existing configuration specified via the
constructor.
</p>
<pre><span class="tt">[% autoformat(text, left => 20) %]</span></pre>
<p>
Configuration options are passed directly to the
<code>Text::Autoformat</code> plugin. At the time of writing, the basic
configuration items are:
</p>
<pre>left left margin (default: 1)
right right margin (default 72)
justify justification as one of 'left', 'right', 'full'
or 'centre' (default: left)
case case conversion as one of 'lower', 'upper',
'sentence', 'title', or 'highlight' (default: none)
squeeze squeeze whitespace (default: enabled)</pre>
<p>
The plugin also accepts a <code>form</code> item which can be used to
define a format string. When a form is defined, the plugin will call the
underlying <code>form()</code> subroutine in preference to
<code>autoformat()</code>.
</p>
<pre><span class="tt">[% USE autoformat(form => '>>>>.<<') %]</span>
<span class="tt">[% autoformat(123.45, 666, 3.14) %]</span></pre>
<p>
Additional configuration items relevant to forms can also be specified.
</p>
<pre><span class="tt">[% USE autoformat(form => '>>>>.<<', numeric => 'AllPlaces') %]</span>
<span class="tt">[% autoformat(123.45, 666, 3.14) %]</span></pre>
<p>
These can also be passed directly to the autoformat subroutine.
</p>
<pre><span class="tt">[% USE autoformat %]</span>
<span class="tt">[% autoformat( 123.45, 666, 3.14,
form => '>>>>.<<',
numeric => 'AllPlaces' )
%]</span></pre>
<p>
See <a href="http://search.cpan.org/search?query=Text::Autoformat&mode=all">Text::Autoformat</a>
for further details.
</p>
</div>
</div>
<div class="section">
<div class="head">
<h1 id="AUTHORS" onclick="switch_section(this)" title="Click title to show/hide section content.">AUTHORS</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<p>
Robert McArthur wrote the original plugin code, with some modifications
and additions from Andy Wardley.
</p>
<p>
Damian Conway wrote the <a href="http://search.cpan.org/search?query=Text::Autoformat&mode=all">Text::Autoformat</a> module which does all the clever stuff.
</p>
</div>
</div>
<div class="section">
<div class="head">
<h1 id="COPYRIGHT" onclick="switch_section(this)" title="Click title to show/hide section content.">COPYRIGHT</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<p>
Copyright (C) 2000-2007 Robert McArthur & Andy Wardley. All Rights
Reserved.
</p>
<p>
This module is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
</p>
</div>
</div>
<div class="section">
<div class="head">
<h1 id="SEE_ALSO" onclick="switch_section(this)" title="Click title to show/hide section content.">SEE ALSO</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<p>
<a href="../../../modules/Template/Plugin.html">Template::Plugin</a>, <a
href="http://search.cpan.org/search?query=Text::Autoformat&mode=all">Text::Autoformat</a>
</p>
</div>
</div>
</div></div>
<br class="clear" />
<div class="pageinfo">
<a href="http://template-toolkit.org/docs/modules/Template/Plugin/Autoformat.html">http://template-toolkit.org/docs/modules/Template/Plugin/Autoformat.html</a>
</div>
</div>
<div id="footer">
<a href="http://opensource.org/" class="osi"></a>
<div class="controls">
<div class="pager">
<span class="go back">Back<span class="about"></span></span>
<span class="go up">Up<span class="about"></span></span>
<span class="go next">Next<span class="about"></span></span>
</div>
</div>
<div class="copyright">
Copyright © 1996-2012 <a href="http://wardley.org/">Andy Wardley</a>. All Rights Reserved.
</div>
<div class="licence">
The <a href="http://template-toolkit.org/">Template Toolkit</a> is <a href="http://opensource.org/">Open Source</a> software.
You can redistribute and/or modify it under the terms of the <a href="http://www.opensource.org/licenses/gpl-license.php">GNU Public Licence</a>
or the <a href="http://www.opensource.org/licenses/artistic-license.php">Perl Artistic Licence</a>.
</div>
</div>
<div id="palette">
<ul>
<li class="first"><a href="#" class="blue" onclick="set_style('Clear Blue')"></a></li>
<li><a href="#" class="orange" onclick="set_style('Clear Orange')"></a></li>
<li><a href="#" class="green" onclick="set_style('Clear Green')"></a></li>
<li><a href="#" class="purple" onclick="set_style('Clear Purple')"></a></li>
<li><a href="#" class="grey" onclick="set_style('Clear Grey')"></a></li>
</ul>
</div>
</div> </body>
</html>