Mediawiki ist sehr gut nutzbar für die gemeinsame, webbasierte Entwicklung und Verwaltung von Wissen. Arbeitet man jedoch Datei-orientiert, im Markdown-Format und das mit einer Nextcloud-Installation, möchte man vielleicht die bisherige Mediawiki-Installation migrieren. Das ist mit überschaubaren Aufwand möglich:
Export aus dem Mediawiki
- SPEZIALSEITEN / ALLE SEITEN -> ggf. Haken setzen bei "Weiterleitungen ausblenden", dann gewünschten Seiten kopieren, ggf. im Texteditor sammeln. Je Zeile ein Seitenname (Leerzeichen vorne sind egal)
- SPEZIALSEITEN / SEITEN EXPORTIEREN -> Seitennamen reinkopieren, Haken setzen bei "Nur die aktuelle Version .." und "Als XML Datei speichern". Exportieren
Tempäre Arbeitsumgebung erstellen
- z.B. eine virtuelle Maschine (VM) mit Qubes oder Virtualbox erstellen
- als root in dieser dann folgende Pakete installieren: apt-get install php php-xml curl
- als user dann einen Arbeitsordner erstellen und die exportiere XML-Datei dahin kopieren
Konventieren von XML nach Markdown
- in den Arbeitsordner gehen
- Aufrufen der Seite https://github.com/philipashlock/mediawiki-to-markdown
- die dortigen Dateien composer.json und convert.php herunterladen in den Arbeitsordner
- curl -sS https://getcomposer.org/installer | php
- php composer.phar install
- php convert.php --filename=mediawiki.xml --output=export --format=markdown_strict
Als Format habe ich markdown_strict genommen, da hier bei den Überschriften keine Links eingebaut werden im Markdown. Pandoc kann verschiedene markdown-Formate
Auf der Konsole kann man sich die Fäigkeiten der Formate anzeigen lassen: pandoc --list-extension=markdown_strict | grep +
Probleme
- Level 1 im Wikipedia wird nicht übertragen als erste Überschriftsebene -> Habe ich keine Lösung gefunden, mir aber auch egal.
- Error Code 65 war bei mir die Hauptseite, wo die Konvertierung abgebrochen worden ist -> Entweder manuell in der XML die Page entfernen oder bei der XML-Erstellung nicht mit exportieren.
- Kategorie-Angaben werden übernommen und verlinkt, was jedoch ja nicht funktioniert -> Habe ich keine Lösung gefunden, mir aber auch egal.
Hochladen in die Nextcloud
- Hochladen, vlt. in einen separaten Ordner.
- Prüfen der Dateien in der Nextcloud
- Löschen der VM
- Fertig