This page describes the Wiki Syntax used by JSPWiki.


Quick Reference to documents#

----       = make a horizontal ruler. Extra '-' is ignored.
\\         = force a line break

[link]     = create a hyperlink to an internal WikiPage called 'Link'.
[this is also a link] = create a hyperlink to an internal WikiPage called
             'ThisIsAlsoALink' but show the link as typed with spaces.
[a sample|link] = create a hyperlink to an internal WikiPage called
             'Link', but display the text 'a sample' to the
             user instead of 'Link'.
~NoLink    = disable link creation for the word in CamelCase.
[1]        = make a reference to a footnote numbered 1.
[#1]       = mark the footnote number 1.
[[link]     = create text '[link]'.

!heading   = small heading with text 'heading'
!!heading  = medium heading with text 'heading'
!!!heading = large heading with text 'heading'

''text''   = print 'text' in italic.
__text__   = print 'text' in bold.
{{text}}   = print 'text' in monospaced font.
* text     = make a bulleted list item with 'text'
# text     = make a numbered list item with 'text'
;term:ex   = make 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.

You can have internal links (to pages in the same wiki), and external links (to resources outside the wiki).

A link to an external URL starts with http:, ftp:, mailto:, https:, or news:. For example, to point at java.sun.com, use [http://java.sun.com], which becomes http://java.sun.com/ or [Java home page|http://java.sun.com], which becomes Java home page.

If you do not start the link with one of the above "protocols", the wiki assumes a normal link to another page in the wiki space, you need to use a letter as the first character of the page, purely numeric page names are not allowed. If you want to use square brackets ([]) in the page without creating a hyperlink, use two opening square brackets. So the text [[Example Non-Link]] will appear as [Example Non-Link].

To add a new page you just create a link to it from an already existing page. After saving the page you will see a small question mark after the page name. Then click on it and you have created a new page! You can also type in the pagename in the Quick Navigation field at the top right corner and click on the edit button.

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

In reality JSPWiki is a bit more forgiving, and allows also following punctuation characters: ()&+, -=._$. All others (eg also the en dash – and apostrophe ' ) are removed. When a non valid character is removed, the next character is capitalized.

Footnotes#

These are a special kind of hyperlink. By using nothing but a number inside a hyperlink you create a reference to a footnote, like this [1], which creates a footnote[1]. To make the actual footnote, you just put a [#1] where you want that footnote to point at. Look below to find the footnote.

You can also make a named footnote, just as if you were doing a normal hyperlink, such as [Footnote name|1] as another way of referring to the first footnote[Footnote name]. Or you can put the custom name at the footnote itself[2].

Adding pictures#

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 Pic image called personal.png which is attached to the wikipage pic : /pic/personal.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. The list of accepted image types depends on the Wiki. See the SystemInfo page for a list of the different image types. Look for the Inlined images are entry.

It is also possible to use the Image plugin to gain more control over the image placement and attributes. To force a flush after an image, use \ \ \ (that is, three consecutive backslashes instead of two).

You can also attach a supported inlined image type to the page and reference it using something like either of these 2 lines:

[myUploadedImage.png]
[TextFormattingRules/myUploadedImage.png]

Like this TextFormattingRules/myUploadedImage.png example image.

This assumes the administrator has not removed "*.png" from the default inlinePattern list. To view inline other image types you may need to ask your administrator to update the configuration properties file to something like this:

jspwiki.translatorReader.inlinePattern.1 = *.jpg
jspwiki.translatorReader.inlinePattern.2 = *.png
jspwiki.translatorReader.inlinePattern.3 = *.gif

Bulleted lists#

Use an asterisk (*) in the first column to make bulleted lists. Use more asterisks for deeper indentation. For example:

* One \\ one and a half
* Two
* Three
** Three.One

creates

  • One
    one and a half
  • Two
  • Three
    • Three.One

Numbered lists#

Just like with bulleted lists, but use a hash (#) instead of the asterisk. Like this:

# One \\ one and a half
# Two
# Three
## Three.One
creates
  1. One
    one and a half
  2. Two
  3. Three
    1. 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. For example:

* 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 convenience.

produces:

  • 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 convenience.

Definition lists and comments#

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

;__Construct__:''Something you use to do something with''
is rendered as:
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.

e.g.

This text is __bold__ and ''italic''

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.

{{{  java.package.pseudocode.class }} } // No space needed
java.package.pseudocode.class

Status Boxes#

You can create text information boxes, using information, warning and error:
%%information
Your text here
%%
information
warning
error

Quotes#

You can use the following for an inline quote
%%quote
Blockquote text here

Line 2
%%
Blockquote text here

Line 2

Tables#

You can do simple tables by 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 \\ foo
| [Main] | [Main]
gives you the following table. Note how you can use links also inside tables.
Heading 1 Heading 2
Gobble Bar
foo
Main Main

CSS styles#

While not in line with the keep it simple principle, CSS styles can be used inline for those special occasions when you really need to emphasize part of a page.

Conflicts#

If someone happens to edit the same page as you at the same time, JSPWiki will prevent you from doing changes and show a conflict page instead. Sorry to say, but the first one to make changes wins... A word of warning: If you use the Back button of your browser to go into the Edit page, you will almost certainly get a conflict. This is because the browser thinks it's still editing an earlier copy of the page.

Deleting pages#

This is not possible. You can, of course, remove all the links to that page, which makes it harder to find.

You can also make the page completely empty (but note that previous versions of the page will remain accessible).

You may also add a link to the DELETEME page like :

 [DELETEME] 

By viewing at the DELETE me page an Admin can decide to delete the page.

Adding new pages#

Create a link that points to a new (not existing) page using its WikiName. Click that new link, which should now have a question mark (?) suffix and you will get an editor for the new page. -- Asser

Aliasing a Page#

Sometimes you want any link to a wiki page to immediately traverse to a different page. This can be done using a PageAlias.

Inserting variables#

There are many possible variables you can insert on a page. The basic form is: [{$variablename}], where variablename is the name of the variable you want to insert. Note that variable names are case-insensitive - that is, "pagename" is the same as "paGeNamE" and "~PageName". You can see the list of available of variables at WikiVariables.

Inserting plugins#

The basic incantation to insert a plugin looks like this: [{INSERT <plugin class> WHERE param1=value, param2=value, ...}] There is more information in JSPWikiPlugins.

Referencing Attachments#

This is achieved by firstly attaching your document to a wiki page and then referencing it in a similar fashion to wiki pages links or external url's.

For example, referencing a file attached to another wiki page :

[wikipagename/attachment.pdf]

Or, if the file is attached to the current wiki page you can use :

[attachment.pdf]

[#1] Here's the footnote I mentioned.
[2-The other footnote] The other footnote. Note how its name is different?
Category.Documentation