MoinMoin

MoinMoin is another wiki engine. Home page: http://moinmo.in/. See their MediaWiki and MoinMoin vs MediaWiki pages (written from their viewpoint). Most prominent public use is probably the Ubuntu Linux help wiki.

One notable feature Moin has that MW doesn't is access control lists.

If you're looking here, you probably either want to convert from MoinMoin to MediaWiki, or convert from MediaWiki to MoinMoin.

MoinMoin to MediaWiki
There are a number of dodgy scripts for this. They are all defective in various ways - anyone who does this job does it precisely once, so there's no-one who really maintains a good converter script.

Both the scripts below need you to clean up after them by hand.


 * mm2mw.pl Perl script by Dan Littlejohn - outputs Mediawiki wikitext.
 * Breaks all CamelCase into Sentence Case - including in the middle of external links.
 * The Filter subroutine works pretty nicely for one page at a time - see below for additions.
 * For a need to convert one page at a time, David Gerard took Filter, commented out all link-creation functions and wrapped it in a hacky CGI to convert individual Moin pages. (Code not released, sorry.)
 * Doesn't do tables. Use this version of Filter to do tables okay.
 * moin2media Python script created by the Linux Foundation for in-house use. Outputs importable Mediawiki XML.
 * Breaks some external links the way mm2mw does, but not most.
 * Doesn't preserve multiple levels of bullet points.
 * Does do tables!

See summary on mediawiki-l.

MoinMoin does pretty good DocBook export. There's a DocBook to Mediawiki translator on blender.org - anyone tested it on the DocBook that MoinMoin puts out?

(In David Gerard's testing, the docbook.py export routine from Moin 1.5.2 crashed on about 20% of the 600 pages in the wiki he wanted to move! This may have been the Moin or Python installation having been hacked around, or it may have been bugginess in Moin 1.5.2. Anyone else tried this?)

mm2mw.pl
Dan Littlejohn's converter is the least worst to date. Here's more line noise to add to Filter:

# list convert - numerical s/^ 1.(.*?)/\#$1/g; s/`(.*?)`/\$1\<\/tt\>/g; s/--\((.*?)\)--/\$1\<\/s\>/g; s/\~-(.*?)-\~/\$1\<\/small\>/g; s/\~\+(.*?)\+\~/\$1\<\/big\>/g;
 * 1) link convert - ` * ` ->  * 
 * 1) strikethrough convert
 * 1) link convert smaller - ~- * -~ -> *
 * 1) link convert larger - ~+ * +~ -> *

See also /Filter for a version of Filter that includes the above and does tables.

MediaWiki to MoinMoin
moinmo.in has a hacky converter script. Their page on MediaWiki links to a parser module that allows MoinMoin to understand MediaWiki markup.