Gitit

Gitit is a wiki backed by a git, darcs, or mercurial filestore. Pages and uploaded files can be modified either directly via the VCS’s command-line tools or through the wiki’s web interface. Pandoc is used for markup processing, so pages may be written in (extended) markdown, reStructuredText, LaTeX, HTML, or literate Haskell, and exported in ten different formats, including LaTeX, ConTeXt, DocBook, RTF, OpenOffice ODT, and MediaWiki markup.

Other features include

  • plugins: dynamically loaded page transformations written in Haskell (see the Dot Plugin Demo for an example)

  • categories

  • support for unicode (see Multilingual)

  • TeX math using texmath (see Math Example)

  • syntax highlighting of source code files and code snippets using highlighting-kate (see Dot.hs for an example)

  • wiki pages can be viewed as slide shows (see Slide Show Demo)

  • caching

  • Atom feeds (site-wide and per-page)

  • a library, Network.Gitit, that makes it simple to include a gitit wiki in any happstack application

  • pages can be written directly in literate Haskell (see paste.lhs)

Feel free to try out gitit on this running demo. You can edit pages by clicking the “Edit” tab, or just by double-clicking the content. (Note that some pages, like this one, are locked and do not have an Edit tab; we suggest you start with the Sandbox.) You can make a link to another wiki page like this: [French Cheeses](). This will produce a link like this: French Cheeses. Note that the names of wiki pages need not be in CamelCase, and they may contain spaces. Wiki pages may be organized into directories. Use the slash (“/”) character between directories and page names or subdirectories: [Wines/Pinot Noir](). To create a new wiki page, just create a link to it and follow the link. Help is always available through the “Help” link in the sidebar.

If you like gitit, see the README for full documentation. The Installing page gives quick installation instructions.

The library API documentation can be found here.

Gitit’s source code is available on github. Bugs may be reported on gitit’s issue tracker. Users may wish to subscribe to the gitit-discuss mailing list.