!!!Forrest's Wiki Support

Forrest now has partial support for documentation in Wiki 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 [Cocoon
Wiki|http://wiki.cocoondev.org].

!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'

''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'
}}}

!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's just like writing an email.

!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/] or [[Java home page|http://java.sun.com], which becomes [Java home page|http://java.sun.com].

To add a new page you just create a link to it from somewhere else. After all, there isn't much point in having a page
if you can't access it! You'll then see a small question mark after the page name when you return to that page. Then
click on it and you have created a new page!

It's allowed to use almost any kind of characters inside a [[WikiName], as long
as they are letters or numbers.

Note also that this Wiki can be configured to support standard CamelCase linking (if it's supported, the word CamelCase
should be a link).  It's off by default, but if your friendly administrator has turned it on, then well, CamelCase all
you want =).

!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: [rss.png].

If you specify a link text ([[this one here|http://example.com/example.png]) 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 put inside a single item!
* The third line is again a single-line item for your convinience.

!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. Edit this page for an example.

!Tables

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

For example:

{{{
|| Heading 1 || Heading 2
| ''Gobble'' | Bar
| [[Main]     | [[SandBox]
}}}

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

|| Heading 1 || Heading 2
| ''Gobble'' | Bar
| [[Main]     | [[SandBox]
