]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/tips/convert_mediawiki_to_ikiwiki.mdwn
(no commit message)
[git.ikiwiki.info.git] / doc / tips / convert_mediawiki_to_ikiwiki.mdwn
index 0ee3c4f238139e9bb336aa8b725c8a3b41830c0d..91e191c4c63b146d452d1670ca272cd00758ff28 100644 (file)
@@ -1,6 +1,7 @@
 [[!toc levels=2]]
 [[!toc levels=2]]
+[[!meta date="2008-10-20 16:55:38 -0400"]]
 
 
-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.
 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,13 +183,26 @@ There is a Python script for converting from the Mediawiki format to Markdown in
 
 ## Scripts
 
 
 ## Scripts
 
+### media2iki
+
 There is a repository of tools for converting MediaWiki to Git based Markdown wiki formats (such as ikiwiki and github wikis) at <http://github.com/mithro/media2iki>. 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).
 
 There is a repository of tools for converting MediaWiki to Git based Markdown wiki formats (such as ikiwiki and github wikis) at <http://github.com/mithro/media2iki>. 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 <https://github.com/docunext/mediawiki2gitikiwiki>
 
 [[Albert]] wrote a ruby script to convert from mediawiki's database to ikiwiki at <https://github.com/docunext/mediawiki2gitikiwiki>
 
+### levitation (xml to git)
+
 [[scy]] wrote a python script to convert from mediawiki XML dumps to git repositories at <https://github.com/scy/levitation>.
 
 [[scy]] wrote a python script to convert from mediawiki XML dumps to git repositories at <https://github.com/scy/levitation>.
 
-[[Anarcat]] wrote a python script to convert from a mediawiki website to ikiwiki at <http://anarcat.ath.cx/software/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.
+### git-mediawiki
+
+There's now support for mediawiki as a git remote:
+
+<https://github.com/moy/Git-Mediawiki/wiki>
+
+### 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
 
 > Some assembly is required to get Mediawiki2markdown and its mwlib
 > gitmodule available in the right place for it to use.. perhaps you could
@@ -204,7 +218,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]]
 
 > 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: <http://anarcat.ath.cx/software/media2iki.git/> -- [[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:
 
 >>> Not using your new converter, just the installation I did earlier
 >>> today:
@@ -261,3 +275,26 @@ zsh: exit 1     ./mediawikigitdump.py -v -t http://archiveteam.org
 </pre>
 
 > > > > > I have updated my script to call the parser without strict mode and to trim leading slashes (and /../, for that matter...) -- [[anarcat]]
 </pre>
 
 > > > > > 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]]
+
+<pre>
+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 <module>
+    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/
+</pre>