MojoMojo ships with a wide range of formatter plugins, from Textile and Markdown markup and Wiki syntax to File Include and Comment box formatters. Its flexible system for text formatting also gives you the flexibility to easily extend MojoMojo for your purposes by adding custom syntax for your business needs.

Check out the Formatter Demo to see the currently available formatters.

Tree-based node structure

Like a traditional wiki, MojoMojo uses [[internal words]] to interlink pages. However, it also has a sense of hierarchy, so you can create any number of pages under another, and refer to them just like in a traditional file system, for instance [[support/contact]]. Compared with most wikis, where the page structure is flat, MojoMojo easily avoids disambiguation pages:

Tree hierarchy

Flat structure

/geography/europe/france/paris

Paris

/geography/usa/texas/paris

Paris, Texas

/mythology/greek/paris

Paris (mythology)

/botany/paris

Paris (genus)

Tags

MojoMojo supports a fully AJAX driven tag implementation throughout the site, both for pages and the photos in each gallery. This is a good way to find photos across different nodes, for instance. It also solves the problem of content which cannot always be categorized in strict tree-like directories of concepts. As Professor Michael Wesch points out in his video Information R/evolution, "ontology is overrated". Thus, you can tag your pages and let a folksonomy emerge from all the tags that other editors add.

Revision control

MojoMojo tracks every change you make to a file directly in the SQL database, and provides quick and reliable tools to manipulate and check

Diff

In order to show differences between two versions, the system uses the unified diff format, where added lines are shown in green with + in front of them, and removed as red '-' lines. MojoMojo can also represent smaller changes, for instance to a single word in a line.

Rollback

You can easily set any previous version as current, for instance to remove spam, or to correct mistaken edits. You can also move back to the latest at some later point if required.

Attachments

Each page in MojoMojo has its own set of attachments. These can be viewed in different ways and inserted into pages.

Uploading

We use the flash component SWFUpload as known from WordPress to receive uploads. This means you can select multiple files in one go, and get progress bars for each file.

Gallery

Any image that is uploaded as an attachment to a page is automatically added to a gallery for that page. You can also set titles and tags for each individual image in the gallery.

Editing content

Since the extensible syntax is part of the mojo in MojoMojo, we've opted to provide a native text area for input. To make it easy to use, we provide a live preview that shows the rendered document as you type. There is also a syntax quick-reference which is relevant to your installed formatters, as well as a toolbar for common operations like headlines and links.

Syntax

MojoMojo currently defaults to Textile as the default text-formatting language, but you can easily switch to Markdown via a simple preference setting. Providing support for other text-formatters is a simple matter of implementing the main_formatter api.

Change highlighting

Whenever you save your document, your latest changes are highlighted, giving you a chance to review the changes you just made.

Searching

MojoMojo search is implemented using KinoSearch. This provides a fast and powerful freetext index of all the content in and given MojoMojo.

RSS Feeds

The wiki provides several different RSS feeds. You can subscribe to a feed for a specific page, or you can follow recent changes for a certain tree (including the root). You can also follow RSS feeds on a per tag basis, in order to keep up with what interests you.

Export

MojoMojo can export content at any tree-level both as HTML or raw wiki-format. This static delivery/serving.

Themes/skins

MojoMojo supports custom themes via CSS and ships with a few native themes. For a gallery of sites using different skins, please see reference installations.