summaryrefslogtreecommitdiff
path: root/doc/index.mdwn
blob: 984d2c9b9f619f2bfbee7a5a81107c3d5a7fa65e (plain)

Ikiwiki is a wiki compiler. It converts a directory full of wiki pages into html pages suitable for publishing on a website. Unlike a traditional wiki, ikiwiki does not have its own means of storing page history, its own markup language, or support for editing pages online.

Why call it IkiWiki? Well, partly because I'm sure some people will find this a pretty Iky Wiki, since it's so different from other Wikis. Partly because "ikiwiki" is a nice palindrome. Partly because its design turns the usual design for a Wiki inside-out and backwards.

To use ikiwiki to set up a wiki, you will probably want to use it with a revision control system, such as [[Subversion]], for keeping track of past versions of pages. ikiwiki can run as a Subversion [[post-commit]] hook, so that each committed change to your wiki is immediatly compiled and published. (It can also be run by hand, by cron, or integrated with any other revision control system.)

[[Subversion]] also offers a way to let others edit pages on your wiki. Just configure subversion to let appropriate users (or everyone) commit to the wiki's repository. There are some things you should keep in mind about [[Security]] when allowing the world to edit your ikiwiki.

ikiwiki supports pages using [[MarkDown]] as their markup language. Any page with a filename ending in ".mdwn" is converted from markdown to html by ikiwiki. Markdown understands text formatted as it would be in an email, and is quite smart about converting it to html. The only additional markup provided by ikiwiki aside from regular markdown is the [[WikiLink]].

ikiwiki also supports files of any other type, including raw html, text, images, etc. These are not converted to wiki pages, they are just copied unchanged by ikiwiki as it builds your wiki. So you can check in an image, program, or other special file and link to it from your wiki pages. ikiwiki also supports making one page that is a [[SubPage]] of another.

[[Setup]] has a tutorial for setting up ikiwki.

[[TODO]] lists things that need to be added to ikiwiki before most people would consider it a full-fledged wiki.

All wikis are supposed to have a [[SandBox]], so this one does to.

ikiwiki is developed by [[JoeyHess]].