+ 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

<table>
=<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><sub>subscript</sub> text</noop>=            | <sub>subscript</sub> text
=<noop><sup>superscript</sup> text</noop>=          | <sup>superscript</sup> 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~~
</table>


++ Literal Text

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

<code>

This /text/ gets **parsed**.

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

</code>

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):

<code>
+++ Level 3 Heading
++++ Level 4 Heading
+++++ Level 5 Heading
++++++ Level 6 Heading
</code>

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


++ Text Alignment

You can center align paragraphs by using double colons:

<code>
::Center aligned text::
</code>

::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.

<code>
<toc>
</code>


++ 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.

<code>
* Bullet one
 * Sub-bullet
</code>

* Bullet one
 * Sub-bullet


+++ Numbered Lists

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

<code>
# Numero uno
# Number two
 # Sub-item
</code>

# Numero uno
# Number two
 # Sub-item


+++ Mixing Bullet and Number List Items

You can mix and match bullet and number lists:

<code>
# Number one
 * Bullet
 * Bullet
# Number two
 * Bullet
 * Bullet
  * Sub-bullet
   # Sub-sub-number
   # Sub-sub-number
# Number three
 * Bullet
 * Bullet
</code>

# 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:

<code>
; Item 1 ; Something
; Item 2 ; Something else
</code>

; 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.

<code>
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.
</code>

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.

<code>
SmashWordsTogether !SmashWordsTogether
</code>

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.

<code>
((Wiki/Page)(Descriptive text for the link.))
</code>

((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.

<code>
[[php strtolower]]
</code>

[[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:
<code>
((http://www.horde.org)(Horde))
</code>
((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:

<code>
[[block horde/Moon phase=next hemisphere=northern]]
</code>

[[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:

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

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


++ Code Blocks

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

<code>
This is an example code block!
</code>

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

<code>
 <code type="php">
 // 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);
 </code>
</code>

<code type="php">
// 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);
</code>

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

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

<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:

<code>
<table>
Heading one | Heading two
cell one | cell two
| big ol' line
cell four | cell five
cell six | here's a very long cell
</table>
</code>

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

<code>
<table>
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
</table>
</code>

<table>
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
</table>
