Template::Plugin::Autoformat.3pm

Langue: en

Version: 2007-04-27 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

NAME

Template::Plugin::Autoformat - Interface to Text::Autoformat module

SYNOPSIS


    [% USE autoformat(options) %]




    [% autoformat(text, more_text, ..., options) %]




    [% FILTER autoformat(options) %]

       a block of text

    [% END %]



EXAMPLES


    # define some text for the examples

    [% text = BLOCK %]

       Be not afeard.  The isle is full of noises, sounds and sweet 

       airs that give delight but hurt not.

    [% END %]




    # pass options to constructor...

    [% USE autoformat(case => 'upper') %]

    [% autoformat(text) %]




    # and/or pass options to the autoformat subroutine itself

    [% USE autoformat %]

    [% autoformat(text, case => 'upper') %]




    # using the autoformat filter

    [% USE autoformat(left => 10, right => 30) %]

    [% FILTER autoformat %]

       Be not afeard.  The isle is full of noises, sounds and sweet 

       airs that give delight but hurt not.

    [% END %]




    # another filter example with configuration options

    [% USE autoformat %]

    [% FILTER autoformat(left => 20) %]

       Be not afeard.  The isle is full of noises, sounds and sweet 

       airs that give delight but hurt not.

    [% END %]




    # another FILTER example, defining a 'poetry' filter alias

    [% USE autoformat %]

    [% text FILTER poetry = autoformat(left => 20, right => 40) %]




    # reuse the 'poetry' filter alias

    [% text FILTER poetry %]




    # shorthand form ('|' is an alias for 'FILTER')

    [% text | autoformat %]




    # using forms

    [% USE autoformat(form => '>>>>.<<<', numeric => 'AllPlaces') %]

    [% autoformat(10, 20.32, 11.35) %]



DESCRIPTION

The autoformat plugin is an interface to Damian Conway's Text::Autoformat Perl module which provides advanced text wrapping and formatting.

Configuration options may be passed to the plugin constructor via the USE directive.


    [% USE autoformat(right => 30) %]



The autoformat subroutine can then be called, passing in text items which will be wrapped and formatted according to the current configuration.


    [% autoformat('The cat sat on the mat') %]



Additional configuration items can be passed to the autoformat subroutine and will be merged with any existing configuration specified via the constructor.


    [% autoformat(text, left => 20) %]



Configuration options are passed directly to the Text::Autoformat plugin. At the time of writing, the basic configuration items are:


    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)



The plugin also accepts a 'form' item which can be used to define a format string. When a form is defined, the plugin will call the underlying form() subroutine in preference to autoformat().


    [% USE autoformat(form => '>>>>.<<') %]

    [% autoformat(123.45, 666, 3.14) %]



Additional configuration items relevant to forms can also be specified.


    [% USE autoformat(form => '>>>>.<<', numeric => 'AllPlaces') %]

    [% autoformat(123.45, 666, 3.14) %]



These can also be passed directly to the autoformat subroutine.


    [% USE autoformat %]

    [% autoformat( 123.45, 666, 3.14,

                   form    => '>>>>.<<', 

                   numeric => 'AllPlaces' )

    %]



See Text::Autoformat for further details.

AUTHORS

Robert McArthur <mcarthur@dstc.edu.au> wrote the original plugin code, with some modifications and additions from Andy Wardley <abw@wardley.org>.

Damian Conway <damian@conway.org> wrote the Text::Autoformat module (in his copious spare time :-) which does all the clever stuff.

VERSION

Template Toolkit version 2.19, released on 27 April 2007. Copyright (C) 2000 Robert McArthur & 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

Template::Plugin, Text::Autoformat