+ Sample Page for Wiki Markup

<toc>

++ General Notes

The markup uses the ((http://develnet.org/)(coWiki)) markup style.

All text is entered as plain text, and will be converted to HTML entities as \
necessary.  This means that =<=, =>=, =&=, and so on are converted for \
you (except in special situations where the characters are Wiki markup; \
the Wiki is generally smart enough to know when to convert and when not to).

Just hit "return" twice to make a paragraph break.  If you want \
to keep the same logical line but have to split it across \
two physical lines (such as when your editor only shows a certain number \
of characters per line), end the line with a backslash =\= and hit \
return once.  This will cause the two lines to be joined on display, and the \
backslash will not show.  (If you end a line with a backslash and a tab \
or space, it will ''not'' be joined with the next line, and the backslash \
will be printed.)

++ Inline Formatting

=<noop>/emphasis text/</noop>=                      | /emphasis text/
=<noop>*strong text*</noop>=                        | *strong text*
=<noop>/*emphasis and strong*/</noop>=              | /*emphasis and strong*/
=<noop>*bold text*</noop>=                          | *bold text*
=<noop>/italic text/</noop>=                        | /italic text/
=<noop>_underline text_</noop>=                     | _underline text_
=<noop>=teletype text=</noop>=                      | =teletype text=
=<noop>subscript text</noop>=            | subscript text
=<noop>superscript text</noop>=          | superscript text
=<noop>@@--- delete text +++ insert text @@</noop>= | @@--- delete text +++ insert text @@
=<noop>@@--- delete only @@</noop>=                 | @@--- delete only @@
=<noop>@@+++ insert only @@</noop>=                 | @@+++ insert only @@
=<noop>~~red:red text~~ </noop>=                    | ~~red:red text~~
=<noop>~~FFFF00:yellow text~~</noop>=               | ~~FFFF00:yellow text~~

++ Literal Text

If you don't want the wiki to parse some text, enclose it in <noop>...</noop> tags.

This /text/ gets **parsed**.

<noop>This /text/ does not get **parsed**.</noop>

This /text/ gets **parsed**.

<noop>This /text/ does not get **parsed**.</noop>

++ Headings

You can make various levels of heading by putting \
plus-signs before the text (all on its own line):

+++ Level 3 Heading
++++ Level 4 Heading
+++++ Level 5 Heading
++++++ Level 6 Heading

+++ Level 3 Heading
++++ Level 4 Heading
+++++ Level 5 Heading
++++++ Level 6 Heading

++ Text Alignment

You can center align paragraphs by using double colons:

::Center aligned text::

::Center aligned text::

++ Table of Contents

To create a list of every heading, with a link to that heading, put a table of contents tag on its own line.

<toc>

++ Horizontal Rules

Use four dashes (=<noop>---</noop>=) to create a horizontal rule.

---

++ Lists

+++ Bullet Lists

You can create bullet lists by starting a paragraph with one or \
more asterisks.

* Bullet one
 * Sub-bullet

* Bullet one
 * Sub-bullet

+++ Numbered Lists

Similarly, you can create numbered lists by starting a paragraph \
with one or more hashes.

# Numero uno
# Number two
 # Sub-item

# Numero uno
# Number two
 # Sub-item

+++ Mixing Bullet and Number List Items

You can mix and match bullet and number lists:

# Number one
 * Bullet
 * Bullet
# Number two
 * Bullet
 * Bullet
  * Sub-bullet
   # Sub-sub-number
   # Sub-sub-number
# Number three
 * Bullet
 * Bullet

# Number one
 * Bullet
 * Bullet
# Number two
 * Bullet
 * Bullet
  * Sub-bullet
   # Sub-sub-number
   # Sub-sub-number
# Number three
 * Bullet
 * Bullet

+++ Definition Lists

You can create a definition (description) list with the following syntax:

; Item 1 ; Something
; Item 2 ; Something else

; Item 1 ; Something
; Item 2 ; Something else

++ Block Quotes

You can mark a blockquote by starting a line with one or more '>' \
characters, followed by a space and the text to be quoted.

This is normal text here.

> Indent me! The quick brown fox jumps over the lazy dog. \
Now this the time for all good men to come to the aid of \
their country. Notice how we can continue the block-quote \
in the same "paragraph" by using a backslash at the end of \
the line.
>
> Another block, leading to...
>> Second level of indenting.  This second is indented even \
more than the previous one.

Back to normal text.

This is normal text here.

> Indent me! The quick brown fox jumps over the lazy dog. \
Now this the time for all good men to come to the aid of \
their country. Notice how we can continue the block-quote \
in the same "paragraph" by using a backslash at the end of \
the line.
>
> Another block, leading to...
>> Second level of indenting.  This second is indented even \
more than the previous one.

Back to normal text.

++ Links and Images

+++ Wiki Links

SmashWordsTogether to create a page link.

You can force a SmashWordsTogether name *not* to be clickable by putting \
an exclamation mark in front of it.

SmashWordsTogether !SmashWordsTogether

SmashWordsTogether !SmashWordsTogether

You can create a "described" or "labeled" link to a wiki page by putting the page name in brackets, followed by some text.

((Wiki/Page)(Descriptive text for the link.))

((Wiki/Page)(Descriptive text for the link.))

+++ Interwiki Links

Interwiki links are links to pages on other Wiki sites. \
Type the =<noop>SiteName:PageName</noop>= like this:

* MeatBall:RecentChanges
* Advogato:proj/WikkiTikkiTavi
* Wiki:WorseIsBetter

+++ PHP Manual Links

PHP manual links are links to the PHP manual on the php.net web site.

[[php strtolower]]

[[php strtolower]]

+++ URLs

Create a remote link simply by typing its URL: http://ciaweb.net.

If you like, enclose it in brackets to create a numbered reference \
and avoid cluttering the page; =<noop>((http://www.horde.org/))</noop>= becomes ((http://www.horde.org/)).

Or you can have a described-reference instead of a numbered reference:

((http://www.horde.org)(Horde))

((http://www.horde.org)(Horde))

+++ On-Page Links

Create and anchor on the page by =<noop>[[# anchorName nice anchor text]]</noop>= [[# anchorName nice anchor text]] and refer to it by =<noop>#anchorName</noop>= #anchorName, or =<noop>((#anchorName)(use normal link renaming))</noop>= ((#anchorName)(use normal link renaming)).

+++ Images

You can put a picture in a page with =<noop>{img foo.jpg}</noop>=. You can use any file type, but most browsers only support GIF, JPEG, and PNG formats. The filename can either be a relative reference (in which case the wiki looks for a file attached to the current page - or a different wiki page if the file name is prefixed with a page name, e.g. =<noop>{img Wiki/Home:foo.jpg=</noop>=), an absolute reference which begins with a slash (in which case the wiki uses it to retrieve a file relative to the web server's root), or a full, external URL.

Additional attributes, such as "alt" can follow the image filename or URL like so: =<noop>{img foo.jpg alt="A Foo JPEG"}</noop>=.  "link" is a special attribute which makes the image a link to the specified URL.

++ Application Content

+++ Application Blocks

Content from other Horde applications provided by portal blocks can be embedded into a page using =[[block]]= tags.

To include Horde's moon phases block for example:

[[block horde/Moon phase=next hemisphere=northern]]

[[block horde/Moon phase=next hemisphere=northern]]

+++ Application Links

Links to other Horde applications is supported if those applications support API links. The Wiki itself supports such an API to link to individual wiki pages:

[[link Link to some other wiki page|wiki/show page=Wiki/Page]]

[[link Link to some other wiki page|wiki/show page=Wiki/Page]]

++ Code Blocks

Create code blocks by using =...= tags (each on its own line).

This is an example code block!

To create PHP blocks that get automatically colorized when you use PHP tags, simply surround the code with =...= tags (the tags themselves should each be on their own lines, and no need for the =<?php ... ?>= tags).

 // Set up the wiki options
 $options = array();
 $options['view_url'] = "index.php?page=";

 // load the text for the requested page
 $text = implode('', file($page . '.wiki.txt'));

 // create a Wiki objext with the loaded options
 $wiki = new Text_Wiki($options);

 // transform the wiki text.
 echo $wiki->transform($text);

// Set up the wiki options
$options = array();
$options['view_url'] = "index.php?page=";

// load the text for the requested page
$text = implode('', file($page . '.wiki.txt'));

// create a Wiki objext with the loaded options
$wiki = new Text_Wiki($options);

// transform the wiki text.
echo $wiki->transform($text);

API references can be generated using =<function>= tags.

<function>
name:listUsers
access:public
param:string,Filter users by this string.,'USER'
returns:array
throws:Exception,if user backend not available.
</function>

<function>
name:listUsers
access:public
param:string,Filter users by this string.,'USER'
returns:array
throws:Exception,if user backend not available.
</function>

++ Tables

You can create tables using vertical bars:

Heading one | Heading two
cell one | cell two
| big ol' line
cell four | cell five
cell six | here's a very long cell

Heading one | Heading two
cell one | cell two
| big ol' line
cell four | cell five
cell six | here's a very long cell

cells are separated by | vertical bars | nothing
| you can span multiple columns by | starting each cell
with extra cell || separators
|| but perhaps an example is the easiest way to see

cells are separated by | vertical bars | nothing
| you can span multiple columns by | starting each cell
with extra cell || separators
|| but perhaps an example is the easiest way to see

