1

What is a wiki?

A wiki (also called WikiWiki or WikiWikiWeb) is a collection of websites, which not only can be read, but can also be edited by the users directly and simply. wikiwiki is Hawaiian and means "fast".

The first WikiWikiWeb was developed and put into operation by Ward Cunningham in 1995. The idea of editable content in the World Wide Web dates from the original ideas of the inventor of the World Wide Web, Tim Berners-Lee.

The wiki-way

What is MoinMoin?

MoinMoin is software to run a wiki.

It is available under the GPL and implemented in the programming language Python. Contributions can be made by also using the GPL and Python.

Finding information

MoinMoin has many ways to find information in the wiki:

Searching

(!) The title search can also be used to quickly navigate to pages that you only roughly know the title of.

You can find further information on the help page HelpOnSearching.

Navigation in the wiki

Staying up to date

In a wiki, lots of things can change in a short time, since anyone can edit, add, or remove pages at any time.

For this reason you can easily follow these changes on the page RecentChanges.

Listed for every change is:

(!) If you are logged in to the wiki, you can set a temporal bookmark using this page. In that case, the wiki will remember which changes you have already seen and will only display the new ones after that.

Creating a wiki account

Using a wiki is often possible without creating an account (this depends on the security preferences).

However, using the wiki with an account is easier and better, because you can:

To create an account, use the link register in the navigation area. Then you will have to enter:

/!\ Then click on Create profile. /!\

The account will be created and you can log in to the wiki using your user name and password.

(!) You are logged in if you see the user name in the navigation area.

User preferences

After account creation and login, you can change your user preferences and settings (click on the link Settings at the top of the page).

The default values should be fine for most of the preferences, but you might want to change:

Then click on the save button at the bottom of the page.

Your own wiki homepage

After creating an account you can see your own name in the navigation area, which is linked to a page of the same title: your personal homepage!

If you click on this link, you can see one of the unique characteristics of wikis for the first time: instead of getting a 404 not found error when a non-existent page is called, the wiki helps you create the page.

After following the instructions displayed, the wiki will display a template of your own homepage in a form.

You can change this template, give an optional comment, and then save the page by clicking save.

The text editor

We just met it while creating your own homepage: the text-based editor of MoinMoin. You are, of course, not limited to only using it for that, because you can also use it to change any other page in the wiki.

You can do that simply by clicking on edit or edit (text) in the navigation area and MoinMoin will bring you to the text editor for the current page.

(!) You can't mess anything up, because the previous version of the page is always saved and can be restored if needed.

It is important to frequently use the preview function while editing a page, since using it will tell MoinMoin to create a backup of the editor's current content.

When you're done, you should enter an appropriate comment (which will then appear on RecentChanges and in the history of the page) and click save.

Should there be two people editing a page at the same time, the first person can save without problems. The second person will get a warning and should merge the first person's changes with his own. If you want to edit a page on your own, you should state that on the top of the page.

(!) You should not go back to the editor page with the "back" button of the browser after editing, because this can lead to strange editing conflicts. Just use MoinMoin's edit button again.

If you do not want to save, but instead discard the changes, you should click cancel, so that MoinMoin knows that you are done editing the page.

Further information can be found at HelpOnEditing.

Hot keys

The usual hot keys work in the editor:

Mouse

Of course you can also select with the mouse and use your browser's editing features.

Text layout with wiki markup

MoinMoin does not simply use HTML (the HyperText Markup Language usually used for websites), but its own, simplified MoinMoin Wiki Markup Language, MoinMoin's convention for the input of content.

HTML

<h1>Headline</h1>
<p>This is a link to my own homepage: <a href="/FirstnameLastname">FirstnameLastname</a></p>
<p>A list:
<ul>
 <li>foo</li>
 <li>bar</li>
</ul>
</p>

MoinMoin wiki

= Headline =
This is a link to my own homepage: FirstnameLastname

A list:
 * foo
 * bar

(!) The MoinMoin wiki markup will be explained in more detail on the following pages.

Paragraphs

The simplest way to enter text into a wiki is similar to doing so in a a word processor.

You just start writing. :)

The only anomaly is that you have to hit "enter" twice for a paragraph:

Input in the editor form

First paragraph.
Still first paragraph.

Second paragraph.

Third paragraph.

Display

First paragraph. Still first paragraph.

Second paragraph.

Third paragraph.

Dividing rules

Input

First part.
----
Second part.

Display

First part.


Second part.

Headlines

Input

= First headline level with =-character =
== Second ==
=== Third ===
==== Fourth ====
... (up to "Sixth")

Display

First headline level with =-character

Second

Third

Fourth

... (up to "Sixth")

(!) If a headline isn't displayed correctly, it is usually because:

Lists

Bulleted

Input

My pets:
 * Dog
 * Cat
  * Mouse

Display

My pets:

Numbered

Input

To do:
 1. Feed dog
 1. Feed cat
  1. Let out mouse

Display

To do:

  1. Feed dog
  2. Feed cat
    1. Let out mouse

(!) MoinMoin can count on its own!

(!) The number of leading spaces defines the hierarchical level of the list.

There are more examples of lists at HelpOnLists.

Text styles

Wiki markup input

Display

''accentuated (italics)''

accentuated (italics)

'''strongly accentuated (bold)'''

strongly accentuated (bold)

'''''bold italics'''''

bold italics

__underlined__

underlined

--(crossed out)--

crossed out

`monospace`

monospace

(!) More at HelpOnEditing.

Tables

Simplest table

 || one || two || three ||
 || four || five || six ||

General table layout

 ||||||<tablewidth="80%">'''Headline'''||
 ||Cell 1||Cell 2||Cell 3||
 ||<rowspan=2> Two lines||||<bgcolor="#AAAAFF"> Two columns||
 ||<rowbgcolor="#FFFFAA">Cell 2||Cell 3||

Cell width

 || Narrow ||<:99%> Broad ||

Spanning rows and columns

 ||<|2> 2 lines || line 1 ||
 || line 2 ||
 ||<-2> line 3, 2 columns broad ||

Alignment

 ||<(50%> left ||<^|3> up ||<v|3> down ||
 ||<:> mid ||
 ||<)> right ||

Colors

 ||<#FF0000> red ||<#00FF00> green ||<#0000FF> blue ||

Wiki internal links

One of the most important features of the wiki is the internal linking to other wiki pages, therefore it is quite simple.

WikiNames ("CamelCase")

If you WriteWordsTogether like FistnameLastname or CamelCase or MoinMoin, so that there are at least two changes between capital letters and lower case letters, MoinMoin will automatically link this word to the page of the same name.

This is quite simple, because wiki markup isn't necessary. But the unusual syntax isn't everyone's cup of tea, so there is one more alternative, the so-called "free link".

Input

CamelCase !CamelCaseButNotLinked

Display

CamelCase CamelCaseButNotLinked

If you want to link pages, which aren't in CamelCase or if you just don't like CamelCase, you can also link this way:

Input

A [[free link]] and [[other page|another page]].

Display

A free link and another page.

Tracing backwards from links

If you click on the page name in the navigation area, the wiki looks for pages which link to this page name.

This can be used for so-called wiki badges. You just write somewhere:

ToDo: Call costumer foobar regarding ...

ToDo is CamelCase, so it links to a homonymous page, which isn't very exiting. :)

(!) But you can click on the page name on the page ToDo and lo and behold, you find every page that also includes a ToDo.

External links

You can, of course, also link to external content on the internet.

Input

http://example.net/

[[http://moinmoin.in/|MoinMoin Wiki]]

ftp://example.org/pub/

{{http://static.moinmo.in/logos/moinmoin.png}}

Display

http://example.net/

MoinMoin Wiki

ftp://example.org/pub/

http://static.moinmo.in/logos/moinmoin.png

(!) As you can see, [[...]] sets a link to the target, {{...}} embeds the target, which is especially useful for pictures.

Attachments

With MoinMoin you can directly append files to a wiki page.

Input

[[attachment:letter.txt]]

{{attachment:foto.jpg}}

Display

letter.txt

[ATTACH]

(!) As long as the files aren't uploaded:

You can click on it and upload the file from your computer's file system to the wiki using your browser. Then the design is regular and:

Symbols

MoinMoin also supports some graphical symbols, like the so called smileys that frequently appear in e-mails and chats:

{1} {2} {3}

{1} {2} {3}

/!\ (!) (./) {X} {i} {OK}

/!\ (!) (./) {X} {i} {OK}

{*} {o}

{*} {o}

:) B-) :( X-(

:) B-) :( X-(

For more see HelpOnSmileys.

(!) The following four chapters are about advanced details. If you don't care about this, you can just skip them.

Dynamic content

MoinMoin is built in a quite modular way, so its functions are expandable by using plug-ins. Macros, parsers, actions, etc. can either be built-in, included, or installed as a plug-in.

Macros

A macro is entered as wiki markup and it processes a few parameters to generate an output, which is displayed in the content area.

Parsers

A parser is entered as wiki markup and it processes a few parameters and a multiline block of text data to generate an output, which is displayed in the content area.

Actions

An action is mostly called using the menu (or a macro) and generates a complete HTML page on its own.

Macros

A macro is called using "<<macroname(parameter)>>". Parameters vary from macro to macro and are sometimes not used.

Input

<<TableOfContents>>
----
Some text with a footnote.<<FootNote(This is the footnote.)>>

|| <<MonthCalendar>> || <<MonthCalendar(,2000,1)>> ||
----
A certain moment - world wide: <<DateTime(2006-01-26T23:03:25Z)>>

Display


Some text with a footnote.1

<< <  2024 / 11 >  >>
Mon Tue Wed Thu Fri Sat Sun
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

<< <  2000 / 1 >  >>
Mon Tue Wed Thu Fri Sat Sun
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            


A certain moment - world wide: 2006-01-26 23:03:25

Parsers

Input

 {{{#!python
 def hello(name):
     print "Hello %s" % name
 }}}

Display

   1 def hello(name):
   2     print "Hello %s" % name

Actions

Some examples of built-in actions:

The graphical editor

As an alternative to the input of wiki markup using the simple text editor, MoinMoin also offers a graphical WYSIWYG (what you see is what you get) editor, which is similar to usual word processing.

Technical requirements: an up-to-date version of Mozilla/Firefox/Netscape or Internet Explorer with JavaScript activated.

You can set the preferred editor in your user preferences, but you can also switch to the other editor while editing.

Advantages of the GUI editor are that it is:

Disadvantages of the GUI editor are that it:

Creating more pages

The easiest and best way to create more pages is to:

(!) This method makes sure that new pages are always accessible from links on already existing pages.

Wiki etiquette

It is important that in public wikis, where many people work together (that often don't know each other), you always act benevolently to others, as long as no one has acted in the opposite way to you.

So, if someone deletes a sentence you wrote yourself, it might be that it was simply wrong or should not have been on that page.

In the same way, you should, of course, also exhibit benevolent behaviour yourself, and not do things like falsifying other's opinions. You should not change or delete anything unless you are sure about it.

The personal homepage should normally be considered as "property" of the particular user and should not changed, apart from things like messages to the user.

Applications

A wiki is usable for quite a few applications, because there few requirements to use it and the content can be anything. You can use it for everything that can be displayed by linked text pages.

Examples

Structure in the wiki

Hierarchy levels

Many conventional websites use very branched structures with many hierarchy levels.

In wikis linking is heavily used. A simpler structure is often used to simplify matters:

Conventions

A wiki gives much freedom to the users; there aren't input masks like in database applications, but you can, in principle, do whatever you want and do it however you want.

Of course, you should avoid that to prevent complete chaos. B-)

That's why it's usual for new wikis to think about structures and conventions, such as the:

It's usual for older wikis to simply carry on using existing structures.