!!!Forrest's JSPWiki Support

Forrest now has partial support for documentation in JSPWiki format, thanks to the
[Chaperon parser|http://chaperon.sf.net/]. Wiki is a simple text format that can
be learned in minutes. This page provides an overview of the syntax that
Forrest supports, namely a subset of that used by the
[JSPWiki|http://www.jspwiki.org/Wiki.jsp?page=TextFormattingRules].
There is also a
[ChaperonTestPage|http://www.jspwiki.org/Wiki.jsp?page=ChaperonTestPage] which
might provide some more hints (view its source).

!!Important Note

It is very easy to create broken documents by using this loose wiki syntax.
Be sure to follow it explicitly.

!!Quick reference

{{{
----       = Make a horizontal ruler. Extra '-' is ignored.
\\         = force a line break, \\\=force line break and clear.

[link]     = creates a hyperlink to an internal WikiPage called 'Link'.
[this is also a link] = creates a hyperlink to an internal WikiPage called
'ThisIsAlsoALink'.
[click here|link] = creates a hyperlink to an internal WikiPage called
'Link', but displays the text 'click here' to the
user instead of 'Link'.
[1]        = Makes a reference to a footnote numbered 1.
[#1]       = Marks the footnote number 1.
[[link]    = creates text '[link]'

!heading   = small heading with text 'heading'
!!heading  = medium heading with text 'heading'
!!!heading = large heading with text 'heading'
Note: Be careful with the hierarchy of headings,
e.g. do not jump from level-3 to level-1.

''text''   = prints 'text' in italic.
__text__   = prints 'text' in bold.
{{text}}   = prints 'text' in monospaced font.

* text     = makes a bulleted list item with 'text'
# text     = makes a numbered list item with 'text'
;term:ex   = makes a definition for 'term' with the explanation 'ex'
}}}

!!Limitations
These are the known limitations of the Forrest JSPWiki capability ...
* The "definition" syntax (;term:ex) is not supported.
* [[link] = creates text '[link]' (is not working).

!!!Samples
The following sections are samples. View the source to see their use
(no, not the source of this HTML page, but the actual wiki source from which
this page was generated).

!!Writing text

You don't need to know anything about the Wiki text formatting rules to use
Wiki.  Just write normal text, and then use an empty line to mark a paragraph.
It is just like writing an email. Add more fancy items as you become more
comfortable.

!!Hyperlinks
The link can also be a direct URL starting with http:, ftp:, mailto:, https:, or news:, in which case the link points to
an external entity. For example, to point at the java.sun.com home page, use
{{{[http://java.sun.com/]}}}
which becomes [http://java.sun.com/]
{{{[Java home page|http://java.sun.com/]}}}
which becomes [Java home page|http://java.sun.com/]

Almost any kind of characters can be used inside a {{{[WikiName]}}} as long
as they are letters or numbers.

!!Adding pictures

For security reasons uploading images is not permitted, but you can embed
any image in the wiki code by putting the image available somewhere on the web in one of the allowed formats, and then
just linking to it.
For example, this is an inlined PNG image: [http://forrest.apache.org/skin/images/built-with-forrest-button.png]

If you specify a link text e.g. {{{[this one here|http://example.com/example.png]}}} then it becomes
the ALT text for those who either can't or don't want to view images.

!!Bulleted lists
Use an asterisk (*) in the first column to make bulleted lists. Use more asterisks for deeper indentation. For example:
{{{
* One
* Two
* Three
** Three.One
}}}

creates
* One
* Two
* Three
** Three.One

!!Numbered lists
Just like with bulleted lists, but use a hash (#) instead of the asterisk. Like this:
{{{
# One
# Two
# Three
## Three.One
}}}

creates
# One
# Two
# Three
## Three.One

If you want to write the list item on multiple lines, just add one or more spaces on the next line and the line will be
automatically added to the
previous item.  If this sounds complicated, edit this page for an example, below.

* This is a single-line item.
* This is actually a multi-line item.
  We continue the second sentence on a line on a line of its own.
  We might as well do a third line while we're at it...
  Notice, however, as all these sentences get rendered inside a single item!
* The third line is again a single-line item.

!!Definition lists and comments

A simple way to make definition lists is to use the ';:' -construct:

;__Construct__:''Something you use to do something with''

Another nice use for the ';:' is that you can use it to comment shortly on other people's text, by having an empty
'term' in the definition, like this:
{{{
;:''Comment here.''
}}}
Which would be seen as
;:''Comment here.''

!!Text effects

You may use __bold__ text or ''italic'' text, by using two underscores (_) and two single quotes ('), respectively. If
you're on a Windows computer, make sure that you are using the correct quote sign, as there is one that looks the same,
but really isn't.

!!Preformatted text

If you want to add preformatted text (like code) just use three consecutive braces ({) to open a block, and three
consecutive braces (}) to close a block. See the Tables example below.

!!Tables

You can do simple tables by using using pipe symbols ('|').  Use double pipe
symbols to start the heading of a table, and single pipe symbols to then
write the rows of the table.  End with a line that is not a table.

For example:

{{{
|| Heading 1 || Heading 2
| ''Italic Text'' | Plain Text
| [Forrest Home Page|http://forrest.apache.org/] | [http://forrest.apache.org/]
}}}

renders the following table.  Note how you can use links also inside tables.

|| Heading 1 || Heading 2
| ''Italic Text'' | Plain Text
| [Forrest Home Page|http://forrest.apache.org/] | [http://forrest.apache.org/]
