|  | HTML |  |

|  | Splash! |  |

|  | PostScript |  |

| Template Toolkit Examples: HTML Library: Lists, Items and Indents |

|  | index |  |

|  | rgb |  |

|  | headers |  |

|  | lists |  |

|  | links |  |

|  | tables |  |

|  | bars |  |

|  | menus |  |

# Lists, Items and Indents

These elements can be used to create lists, items and indented sections. The html/list and html/item components are included for completeness but in many cases it's overkill to use them unless you plan to make your lists and items more fancy than regular <ul> and <li> elements. The html/indent element is particularly useful for creating an indented section and is implemented as a right-aligned table, allowing background colour, internal alignment and various other parameters to be specified.

Source #1:

    [%  WRAPPER html/list %]
    [%- FOREACH item = [ 'One' 'Two' 'Three' ] -%]
    <li>[% item %]</li>
    [%  END %]
    [%  END %]

HTML Output #1:

    <ul>
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
    </ul>

Output #1:

- One
- Two
- Three

Source #2:

    [% WRAPPER html/list
        title = 'Test List Title'
    %]
    [% "<li>$item</li>\n"
    	FOREACH item = [ 'Foo' 'Bar' 'Baz' ] -%]
    [% END %]

HTML Output #2:

    <b>Test List Title</b>
    <ul>
    <li>Foo</li>
    <li>Bar</li>
    <li>Baz</li>
    </ul>

Output #2:

Test List Title

- Foo
- Bar
- Baz

Source #3:

    [% WRAPPER html/list
        title = 'Another Test List Title'
    %]
    [% INCLUDE html/item
         title = "Item The First"
       content = "This is the first item"
    %]
    [% INCLUDE html/item
         title = "Item The Second"
       content = "This is the second item"
    %]
    [% WRAPPER html/item
         title = "Item The Third"
    %]
    This is the third item
    [% END %]
    [% END %]

Output #3:

Another Test List Title

- Item The First
  This is the first item
- Item The Second
  This is the second item
- Item The Third
  This is the third item

Source #4:

    [% WRAPPER html/list
       title = 'Builder'
    %]
      [%- WRAPPER html/item title="Intent" %]
          Separate the construction of a complex object
          from its representation so that the same
          construction process can create different
          representations.
      [%- END %]

      [%- WRAPPER html/item title="Motivation" %]
          A reader for the RTF (Rich Text Format)
          document exchange format should be able
          to convert RTF to many text formats. . .
      [%- END %]

      [%- WRAPPER html/item title="Applicability" %]
          Use the Builder pattern when
          [%- WRAPPER html/list %]
          [%- WRAPPER html/item %]
             the algorithm for creating a complex object
             should be independant of the parts that make
             up the object and how they're assembled.
          [%- END %]
          [%- WRAPPER html/item %]
             the construction process must allow
             different representations for the objects
             that's constructed.
          [%- END %]
        [%- END %]
      [%- END %]
    [% END %]

Output #4:

Builder

- Intent
  Separate the construction of a complex object from its representation so that the same construction process can create different representations.
- Motivation
  A reader for the RTF (Rich Text Format) document exchange format should be able to convert RTF to many text formats. . .
- Applicability
  Use the Builder pattern when
  - the algorithm for creating a complex object should be independant of the parts that make up the object and how they're assembled.
  - the construction process must allow different representations for the objects that's constructed.

Source #5:

    The cat sat on the mat.
    [% INCLUDE html/indent
       content='The dog sat on the log.'
    %]
    The fish lay on the dish.

Output #5:

The cat sat on the mat.

The dog sat on the log.

The fish lay on the dish.

Source #6:

    [% WRAPPER html/indent %]

    <p>
    Anyone who has to work in noise, in offices with
    people all around, needs to be able to pause and
    refresh himself with quiet in a more natural
    situation.
    </p>

    <div align="right">
    <b>59: Quiet Backs</b>
    <br>
    A Pattern Language, Christopher Alexander et al.
    <br>
    1977, Oxford University Press, ISBN: 0-19-501919-9
    </p>

    [% END %]

Output #6:

Anyone who has to work in noise, in offices with people all around, needs to be able to pause and refresh himself with quiet in a more natural situation. 59: Quiet Backs A Pattern Language, Christopher Alexander et al. 1977, Oxford University Press, ISBN: 0-19-501919-9

Source #7:

    [% WRAPPER html/indent width='50%' %]
    The cat sat on the mat
    [% END %]

    [% WRAPPER html/indent width='50%' align='middle' %]
    The dog sat on the log
    [% END %]

    [% WRAPPER html/indent width='50%' align='right' %]
    The fish lay on the dish
    [% END %]

Output #7:

The cat sat on the mat

The dog sat on the log

The fish lay on the dish

Source #8:

    [% WRAPPER html/indent
         col   = rgb.grey75
         width = '50%'
         pad   = 10
    %]

    <p>
    Encourage the formation of self-governing workshops
    and offices of 5 to 20 workers.  Make each group
    autonomous - with respect to organization, style,
    relation to other groups, hiring and firing, work
    schedule.  Where the work is complicated and requires
    larger organizations, several of these work groups
    can federate and cooperate to produce complex
    artifacts and services.
    </p>

    <div align="right">
    <b>80: Self-Governing Workshops and Offices</b>
    <br>
    A Pattern Language, Christopher Alexander et al.
    <br>
    1977, Oxford University Press, ISBN: 0-19-501919-9
    </p>

    [% END %]

Output #8:

Encourage the formation of self-governing workshops and offices of 5 to 20 workers. Make each group autonomous - with respect to organization, style, relation to other groups, hiring and firing, work schedule. Where the work is complicated and requires larger organizations, several of these work groups can federate and cooperate to produce complex artifacts and services.

80: Self-Governing Workshops and Offices
A Pattern Language, Christopher Alexander et al.
1977, Oxford University Press, ISBN: 0-19-501919-9