                        WWWOFFLE MESSAGES - Version 2.7
                        ===============================

The HTML pages that WWWOFFLE generates are now contained in this directory.

Description of Pages
--------------------

The pages that are in this directory are the messages that are generated by
WWWOFFLE itself.

The files in this directory all correspond to one message apart from those that
are named *-Head.html, *-Body.html or *-Tail.html, these are parts of a page
that are assembled with others to create the whole page.


Writing Pages
-------------

If you modify these pages for your own use then please bear in mind the
following points:

    The name wwwoffle should appear clearly somewhere on the page.
    The wwwoffle URL interface is likely to change between versions.
    Keep to the HTML specification (see http://www.w3.org/).
    The files must be in UNIX format, not MS-DOS format (LF not CRLF).

If you generate some pages that you would like to see included into the next
version of wwwoffle, please tell me.  In fact, you might want to tell me before
you start since there may others aiming for the same target.  Do not send me the
pages unless asked, since they can be quite large.

I am interested in including the following types of pages in future:

    Enhanced versions
        Images
        Javascript
        More helpful (link to help pages/FAQ in case of error?)

I can make these available from the wwwoffle web-page if they are approved, and
also in the next version.


Parsing Rules
-------------

The parser is a very simple micro language (too simple to be a macro language!).

The rules that are obeyed are the following:

Class-1

$foo                    - Replaced by the contents of the variable foo.
%foo[bar]               - Replaced by the return value of the function foo with
                          the argument $bar.
                          Functions available are encode, decode and html.

Class-2

$foo=bar                - Set the variable foo to the value 'bar'.
$foo="bar 1"            - Set the variable foo to the value 'bar 1'.
$foo='bar 2'            - Set the variable foo to the value 'bar 2'.

Class-3

$foo?{yes}{no}          - Replaced by 'yes' if $foo is set or 'no' if it is not.
$foo?=bar{yes}{no}      - Replaced by 'yes' if $foo == bar or 'no' if it is not.


The variable/function names are not case sensitive, the rest of it is.

The Class-1 construct may be used on the right side of the Class-2 construct.

The Class-1 and Class-2 constructs can be used within a Class-3 construct.

The Class-3 construct cannot be nested.

The characters { and } must be quoted as \{ and \} in the Class-2 and Class-3
constructs.

The characters ' and " must be quoted if used within a Class-2 construct.

At the top level (outside of any constructs) whitespaces followed by '\'
followed by a newline is removed totally to construct a single long line.

----------
Andrew M. Bishop November 3rd 2002
