WikiLinks provide easy linking between pages of the wiki. To create a WikiLink, just put the name of the page to link to in double brackets. For example [[WikiLink]].

If you ever need to write something like [[WikiLink]] without creating a wikilink, just prefix it with a \, like \[[WikiLink]].

There are some special LinkingRules that come into play when linking between SubPages.

WikiLinks are matched with page names in a case-insensitive manner, so you don't need to worry about getting the case the same, and can capitalise links at the start of a sentence, and so on.

It's also possible to write a WikiLink that uses something other than the page name as the link text. For example [[foo_bar|SandBox]] links to the SandBox page, but the link will appear like this: foo bar.

To link to an anchor inside a page, you can use something like [[WikiLink#foo]] .

If the file linked to by a WikiLink looks like an image, it will be displayed inline on the page.

You can also put an url in a WikiLink, to link to an external page. Email addresses can also be used to generate a mailto link.

Formatting wiki pages

Text on this wiki is, by default, written in a form very close to how you might write text for an email message. This style of text formatting is called MarkDown, and it works like this:

Leave blank lines between paragraphs.

You can *emphasise* or **strongly emphasise** text by placing it in single or double asterisks.

To create a list, start each line with an asterisk:

  • "* this is my list"
  • "* another item"

To make a numbered list, start each line with a number (any number will do) followed by a period:

  1. "1. first line"
  2. "2. second line"
  3. "2. third line"

To create a header, start a line with one or more # characters followed by a space and the header text. The number of # characters controls the size of the header:

# h1

## h2

### h3

#### h4

##### h5
###### h6

To create a horizontal rule, just write three or more dashes or stars on their own line:

To quote someone, prefix the quote with ">":

To be or not to be, that is the question.

To write a code block, indent each line with a tab or 4 spaces:

10 PRINT "Hello, world!"
20 GOTO 10

To link to an url or email address, you can just put the url in angle brackets: <>, or you can use the form [link text](url)

In addition to basic html formatting using MarkDown, this wiki lets you use the following additional features:

  • To link to another page on the wiki, place the page's name inside double square brackets. So you would use [[WikiLink]] to link to WikiLink.

  • Insert smileys and some other useful symbols. :-)

  • Use shortcuts to link to common resources.

    [[!wikipedia War_of_1812]]

  • Create and fill out templates for repeated chunks of parameterized wiki text.

  • Insert various directives onto a page to perform useful actions. For example, you can:

    • Add a table of contents to a page:

      [[!toc ]]

    • Change the title of a page:

      [[!meta title="full page title"]]

    • Create a blog by inlining a set of pages:

      [[!inline pages="blog/*"]]


Some directives that use PageSpecs allow specifying the order that matching pages are shown in. The following sort orders can be specified.

  • age - List pages from the most recently created to the oldest.

  • mtime - List pages with the most recently modified first.

  • title - Order by title (page name), e.g. "z/a a/b a/c"

  • path - Order by page name including parents, e.g. "a/b a/c z/a"

  • meta(title) - Order according to the [[!meta title="foo" sortas="bar"]] or [[!meta title="foo"]] directive, or the page name if no full title was set. meta(author), meta(date), meta(updated), etc. also work.

In addition, you can combine several sort orders and/or reverse the order of sorting, with a string like age -title (which would sort by age, then by title in reverse order if two pages have the same age).


Markdown is a minimal markup language that resembles plain text as used in email messages. It is the markup language used by this wiki by default.

For documentation about the markdown syntax, see formatting and Markdown: syntax.

Note that WikiLinks and directives are not part of the markdown syntax, and are the only bit of markup that this wiki handles internally.


Directives are similar to a WikiLink in form, except they begin with ! and may contain parameters. The general form is:

[[!directive  param="value" param="value"]]

This gets expanded before the rest of the page is processed, and can be used to transform the page in various ways.

The quotes around values can be omitted if the value is a simple word. Also, some directives may use parameters without values, for example:

[[!tag  foo]]

A directive does not need to all be on one line, it can be wrapped to multiple lines if you like:

[[!directive  foo="baldersnatch"
bar="supercalifragilisticexpialidocious" baz=11]]

Also, multiple lines of quoted text can be used for a value. To allow quote marks inside the quoted text, delimit the block of text with triple-double-quotes or triple-single-quotes:

[[!directive  text="""
1. "foo"
2. "bar"
3. "baz"
""" othertext='''
1. 'quux'
2. "foo"

If you want to put text with triple quotes into a parameter value, you can use perl-style here-doc syntax, even nesting it like this:

[[!directive  text=<<OUTER
[[!otherdirective <<INNER
inner text
outer text

ikiwiki also has an older syntax for directives, which requires a space in directives to distinguish them from wikilinks. This syntax has several disadvantages: it requires a space after directives with no parameters (such as [[pagecount ]]), and it prohibits spaces in wikilinks. ikiwiki now provides the !-prefixed syntax shown above as default. However, ikiwiki still supports wikis using the older syntax, if the prefix_directives option is disabled.