X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/990c084016e659b92d98b2b2f368876f6fcf44b7..e626bc977974f1915cc954d56b93b949a215a4ca:/doc/tips/convert_MoinMoin_to_ikiwiki.mdwn diff --git a/doc/tips/convert_MoinMoin_to_ikiwiki.mdwn b/doc/tips/convert_MoinMoin_to_ikiwiki.mdwn index 50ac2fe20..51129a67d 100644 --- a/doc/tips/convert_MoinMoin_to_ikiwiki.mdwn +++ b/doc/tips/convert_MoinMoin_to_ikiwiki.mdwn @@ -1,17 +1,14 @@ -A MoinMoin and TWiki converter, which was originally written by [[JoshTriplett]] converts those wikis to ikiwikis backed by a git repository, including full history. It uses two techniques for conversion: +This MoinMoin converter converts wikis to ikiwikis backed by a git repository, including full history. It simply parses the wiki pages into markdown using the MoinMoin engine. - * for MoinMoin, it parses the wiki pages into markdown using the MoinMoin engine - * for Tikiwiki, it parses the wiki pages to HTML then back into markdown using the `libhtml-wikiconverter` Perl package +The converter was originally written by [[JoshTriplett]] and included support for Tikiwiki, for which it parses the wiki pages to HTML then back into markdown using the `libhtml-wikiconverter` Perl package. That original version from Josh is still available from [his wiki page](/users/JoshTriplett). The MoinMoin side of things was completely re-written by [[anarcat]] and is currently still in development. That version is available at: git clone git://src.anarcat.ath.cx/moin2iki -The original version from Josh is still available from [his wiki page](/users/JoshTriplett). [[anarcat]] will probably remove support from Tikiwiki eventually, as those two projects are really different... +It doesn't feature support to migrate from Tikiwiki anymore and focuses on MoinMoin support. -# MoinMoin scripts - -The MoinMoin part is made of two main pieces: +The software is made of two pieces: * the importer (`moin2git`) - which converts the wiki pages into a git repository with full history * the converter (`moin2mdwn`) - which converts a set of moin-formatted text files into markdown + ikiwiki directives @@ -28,9 +25,43 @@ The MoinMoin part is made of two main pieces: ## MoinMoin converter features + * most of the inline markup + * links + * attachment links + * smileys + * images (not well tested), into [[ikiwiki/directive/img]] + * preformatted and code areas, including [[ikiwiki/directive/format]] + * ordered, unordered and definition lists + * tables (although only with HTML and no styles) + +Supported macros: + + * TableOfContents, through [[ikiwiki/directive/toc]] + * Navigation, partially, through [[ikiwiki/directive/inline]] + * MonthCalendar, partially, through [[ikiwiki/directive/calendar]] + * FootNote, through markdown + * Anchor, through markdown and plain HTML + * `<
>`, through the weird line ending thing + * AttachList, through a weird [[ikiwiki/directive/inline]] + * FullSearch, partially, only through [[ikiwiki/directive/inline]] (so no textual search) + * Include, partially through [[ikiwiki/directive/inline]] (so missing boundary extraction and heading level generation) + * PageList, throuhg [[ikiwiki/directive/inline]] + +Supported parsers: + + * the main "moin wiki" markup + * highlight parser, through the [[plugins/format]] plugin + * other parsers may be supported if an equivalent plugin exists in Ikiwiki (example: [[plugin/rst]]) + +## Current blocker and todos + +This script is being used to test the conversion of the venerable [Koumbit wiki](https://wiki.koumbit.net/) into Ikiwiki, and so far progress is steady but difficult. The current blocker is: - * lots of macros are not translated - * a bunch of markup and exotic uses of parsers will probably fail? + * inline parsers and hackish styled tables + * turn categories into tags + * name converted page to the right name depending on the `#format` parameter on top of page + * finish a full converter run on the Koumbitwiki + * improve the output of the converter (too much debugging) ## MoinMoin features missing from ikiwiki @@ -39,6 +70,10 @@ The importer is pretty much complete, but the converter can only go so far as wh * [[todo/do_not_make_links_backwards/]] - MoinMoin and Creole use `\[[link|text]]`, while ikiwiki uses `\[[text|link]]` - for now the converter generates [[markdown]] links so this is not so much an issue, but will freak out users * [[todo/internal_definition_list_support/]] - includes tabling the results ([MoinMoin's DictColumns macro](http://moinmo.in/MacroMarket/DictColumns)) * [[todo/per page ACLs]] - ([MoinMoin's ACLs](http://moinmo.in/HelpOnAccessControlLists)) - * more to be documented here + * [MailTo](http://moinmo.in/HelpOnMacros/MailTo) macro spam protection + * list pages based on full text page search + * extract part of other pages with the inline macro + * specifying a template when creating a page (as opposed to matching a pagespec) + * specifying a style for a sub-section (MoinMoin's inline parsers allow the user to specify a CSS class - very useful see [the documentation](http://moinmo.in/HelpOnMoinWikiSyntax#Using_the_wiki_parser_with_css_classes) to get an idea) Comments and feedback always welcome! --[[anarcat]]