X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/6df072c66bbca90b2bc23999027e2dc6f6c3d8eb..486076c94367a40ff6a5e2476d98b87cd8d64f96:/doc/tips/convert_mediawiki_to_ikiwiki.mdwn?ds=inline diff --git a/doc/tips/convert_mediawiki_to_ikiwiki.mdwn b/doc/tips/convert_mediawiki_to_ikiwiki.mdwn index 607560cba..e8f6a26a1 100644 --- a/doc/tips/convert_mediawiki_to_ikiwiki.mdwn +++ b/doc/tips/convert_mediawiki_to_ikiwiki.mdwn @@ -1,6 +1,6 @@ [[!toc levels=2]] -Mediawiki is a dynamically-generated wiki which stores it's data in a +Mediawiki is a dynamically-generated wiki which stores its data in a relational database. Pages are marked up using a proprietary markup. It is possible to import the contents of a Mediawiki site into an ikiwiki, converting some of the Mediawiki conventions into Ikiwiki ones. @@ -182,11 +182,26 @@ There is a Python script for converting from the Mediawiki format to Markdown in ## Scripts +### media2iki + There is a repository of tools for converting MediaWiki to Git based Markdown wiki formats (such as ikiwiki and github wikis) at . It also includes a standalone tool for converting from the Mediawiki format to Markdown. [[mithro]] doesn't frequent this page, so please report issues on the [github issue tracker](https://github.com/mithro/media2iki/issues). +### mediawiki2gitikiwiki (ruby) + [[Albert]] wrote a ruby script to convert from mediawiki's database to ikiwiki at -[[Anarcat]] wrote a python script to convert from a mediawiki website to ikiwiki at . The script doesn't need any special access or privileges and communicates with the documented API (so it's a bit slower, but allows you to mirror sites you are not managing, like parts of Wikipedia). The script can also incrementally import new changes from a running site, through RecentChanges inspection. It also supports mithro's new Mediawiki2markdown converter. +### levitation (xml to git) + +[[scy]] wrote a python script to convert from mediawiki XML dumps to git repositories at . + +### git-mediawiki + +There's now support for mediawiki as a git remote: + + + +### mediawikigitdump +[[Anarcat]] wrote a python script to convert from a mediawiki website to ikiwiki at git://src.anarcat.ath.cx/mediawikigitdump.git/. The script doesn't need any special access or privileges and communicates with the documented API (so it's a bit slower, but allows you to mirror sites you are not managing, like parts of Wikipedia). The script can also incrementally import new changes from a running site, through RecentChanges inspection. It also supports mithro's new Mediawiki2markdown converter (which I have a copy here: git://src.anarcat.ath.cx/media2iki.git/). > Some assembly is required to get Mediawiki2markdown and its mwlib > gitmodule available in the right place for it to use.. perhaps you could @@ -202,7 +217,7 @@ There is a repository of tools for converting MediaWiki to Git based Markdown wi > fails on some html in the page named "4_metres". On archiveteam.org, > it fails trying to write to a page filename starting with "/", --[[Joey]] -> > can you show me exactly which commandline arguments you're using? also, I have made improvements over the converter too, also available here: -- [[anarcat]] +> > can you show me exactly which commandline arguments you're using? also, I have made improvements over the converter too, also available here: git://src/anarcat.ath.cx/media2iki.git/ -- [[anarcat]] >>> Not using your new converter, just the installation I did earlier >>> today: @@ -258,4 +273,27 @@ IOError: [Errno 13] Permission denied: u'/Sites_using_MediaWiki_(English).mdwn' zsh: exit 1 ./mediawikigitdump.py -v -t http://archiveteam.org -[[scy]] wrote a python script to convert from mediawiki XML dumps to git repositories at . +> > > > > I have updated my script to call the parser without strict mode and to trim leading slashes (and /../, for that matter...) -- [[anarcat]] + +> > > > > > Getting this error with the new version on any site I try (when using -t only): `TypeError: argument 1 must be string or read-only character buffer, not None` +> > > > > > bisecting, commit 55941a3bd89d43d09b0c126c9088eee0076b5ea2 broke it. +> > > > > > --[[Joey]] + +> > > > > > > I can't reproduce here, can you try with -v or -d to try to trace down the problem? -- [[anarcat]] + +
+fetching page list from namespace 0 ()
+found 473 pages
+fetching page 0 - 9  from http://www.amateur-radio-wiki.net/index.php?action=raw&title=0+-+9 into 0_-_9.mdwn
+Traceback (most recent call last):
+  File "./mediawikigitdump.py", line 304, in 
+    main()
+  File "./mediawikigitdump.py", line 301, in main
+    fetch_allpages(options.namespace)
+  File "./mediawikigitdump.py", line 74, in fetch_allpages
+    fetch_page(page.getAttribute('title'))
+  File "./mediawikigitdump.py", line 180, in fetch_page
+    f.write(options.convert(urllib.urlopen(url).read()))
+TypeError: argument 1 must be string or read-only character buffer, not None
+zsh: exit 1     ./mediawikigitdump.py -v -d -t http://www.amateur-radio-wiki.net/
+