Zum Inhalt springen

Wikipedia:Technik/Text/Reader/WikiTaxi/Skripte

aus Wikipedia, der freien Enzyklopädie

Wikipedia:Technik/!header Der Offline-Reader WikiTaxi hatte früher leider kleine Probleme mit einigen lokalisierten Schlüsselwörtern, bestimmten Erweiterungen und Ähnlichem. Aus diesem Grund hatte ich einige Skripte geschrieben, mit denen man die Datenbank vor dem Import geeignet anpassen konnte. Inzwischen funktioniert WikiTaxi wieder so gut, dass die Skripte eigentlich überflüssig sind, in ein paar Fällen (vor allem bei Kategorien) sind sie jedoch noch nützlich.

Die Skripte sind in erster Linie für Linux geschrieben, da sed aber auch für Windows verfügbar ist, müssten sie ohne Anpassung auch unter Windows funktionieren.

Die Skripte bewirken keine Wunder, können aber ein Offline-Arbeiten angenehmer gestalten. Besonders lohnend sind sie in meinen Augen für Wikisource.

Ablauf

Linux

Speichere alle Skripte unter dem angegebenen Namen in einem Verzeichnis, das sich im Pfad befindet (~/bin/ ist ein guter Ort), und mache sie ausführbar (chmod +x wiki.*). Sollte sich sed nicht unter /usr/bin/sed befinden, muss jeweils die erste Zeile angepasst werden. Lade die aktuelle Datenbank herunter. Zum Konvertieren verwendest du den folgenden Befehl (in einer Zeile): Vorlage:Hilfe/tt, wobei du für dewiki-xxx-pages-articles.xml.bz2 den Dateinamen der heruntergeladenen Datenbank (inklusive Pfad) angibst und die Ausgabedatei de.xml.bz2 natürlich auch anders heißen darf. Diese Konvertierung dauert je nach Rechner mehr oder weniger lang, bei mir sind es ca. 2 Stunden pro Gigabyte, also etwa 3½ Stunden für die deutsche Wikipedia. Anschließend startest du wie gewöhnlich den WikiTaxi-Importer und importierst die erzeugte Ausgabedatei. Wenn alles funktioniert, kannst du beide xml.bz2-Dateien löschen.

Windows

Eine genaue Anleitung für Windows kann ich leider nicht geben, nur einige Hinweise: Installiere sed für Windows. Außerdem brauchst du ein Programm zum Komprimieren und Dekomprimieren von bzip2-Dateien, in der Liste von Datenkompressionsprogrammen wirst du sicher fündig. Anschließend gehst du wie unter Linux vor. Wenn sich das Kompressionsprogramm auch auf der Kommandozeile bedienen lässt, ersetzt du im Befehlsaufruf bzcat dewiki-xxx-pages-articles.xml.bz2 durch den Befehl, mit dem die Datei auf die Standardausgabe dekomprimiert wird und bzip2 > de.xml.bz2 durch den Befehl, mit dem von der Standardeingabe in die Datei komprimiert wird. Ferner sind alle wiki.xyz durch sed -f wiki.xyz bzw. sed -nf wiki.xyz (jeweils wie in der ersten Zeile des Skripts angegeben). Alternativ kannst du die Skripte auch unter wiki.xyz.sed speichern und die Endung .sed mit sed verknüpfen. Für den Fall, dass das Kompressionsprogramm nicht von der Kommandozeile aus bedient werden kann, dekomprimerst du die Datei vorher. Der Aufruf der Skripte lautet dann Vorlage:Hilfe/tt. Zum Schluss komprimierst du die Ausgabedatei. Wenn alles funktioniert hat, darfst du auch gerne diese Anleitung ausführlicher gestalten.

Skripte

wiki.tags0

Bei meinen ersten Versuchen habe ich festgestellt, dass es sehr viel angenehmer ist, wenn alle Befehle in spitzen Klammern in eigenen Zeilen stehen. Daher fügt das erste Skript an solchen Stellen Zeilenumbrüche ein. Um diese am Ende wieder entfernen zu können, werden die entstehenden Zeilen mit einem Anführungszeichen gekennzeichnet.

<syntaxhighlight lang="bash">

  1. !/usr/bin/sed -f
  1. bei < und > aufspalten

s/</\n"\n\</g s/>/\>\n"\n/g

  1. unnötige Aufspaltungen entfernen

s/^\n"\n// s/\n"\n$// s/\n"\n\n"\n/\n"\n/g </syntaxhighlight>

wiki.nowiki0

Innerhalb von <nowiki>…</nowiki> soll nichts verändert werden, daher werden potentiell „gefährliche“ Zeichen mit zwei Kleiner-Zeichen entschärft. Eigentlich müssten auch source- und ähnliche Umgebungen analog behandelt werden, allerdings halte ich die Fehler, die durch diese Missachtung entstehen für verschmerzbar.

<syntaxhighlight lang="bash">

  1. !/usr/bin/sed -f
  1. von bis oder Artikelende

/<nowiki>/,/<\/nowiki>\|<\/text>\|<\/comment>/ {

  1. jedes potentiell "gefährliche" Zeichen mit << ukenntlich machen

s/{/{<</g s/\[/\[<</g s/</\<<</g

  1. s/__/__<</g

s/#\(weiterleitung\)/#<<\1/gi } </syntaxhighlight>

wiki.de

Hier wird geändert, was speziell die deutsche Wikipedia betrifft: Zunächst werden störende Lokalisierungen rückgängig gemacht, dann einige wichtigen Variablen und Namensraum-Aliase ersetzt.

<syntaxhighlight lang="bash">

  1. !/usr/bin/sed -f
  1. Lokalisierungen

s/#WEITERLEITUNG/#REDIRECT/i s/\[\[Image:/\[\[Datei:/gi s/\[\[File:/\[\[Datei:/gi s/\[\[Bild:/\[\[Datei:/gi s/{{SEITENTITEL:/{{DISPLAYTITLE:/ s/{{SORTIERUNG:/{{DEFAULTSORT:/ s/Technik/Text/Reader/WikiTaxi/Skripte/Technik/Text/Reader/WikiTaxi/Skripte/g s/{{ZAHLENFORMAT:/{{formatnum:/g

  1. Variablen

s/https://wiki-de.moshellshocker.dns64.de{{localurl:/{{canonicalurl:/g s/Wikipedia (Deutsch) – Lokale Kopie/Wikipedia/g s/{{fullurl:/{{canonicalurl:de.wikipedia.org\/wiki\//gi s/Wikipedia/Wikipedia/g s/Wikipedia:Technik/Text/Reader/WikiTaxi/Skripte/Wikipedia:Technik/Text/Reader/WikiTaxi/Skripte/g s/Wikipedia:Technik/Text/Reader/WikiTaxi/Skripte/Wikipedia:Technik/Text/Reader/WikiTaxi/Skripte/g s/0/1.000.000/g

  1. Namensraum-Aliase

s/\[\[WP:/\[\[Wikipedia:/g s/\[\[P:/\[\[Portal:/g </syntaxhighlight>

wiki.sonstiges

Die Einbindung von Unterseiten wie auf der Hauptseite funktioniert in WikiTaxi nicht, dieses Problem wird behoben. Schließlich werden Bilder, die mit einer Größe von unter 40 Pixeln eingebunden sind durch [*] ersetzt. Ein <onlyinclude> direkt vor <includeonly> oder einer Tabelle macht Probleme, die durch einen Leerkommentar in den meisten Fällen behoben werden.

<syntaxhighlight lang="bash">

  1. !/usr/bin/sed -f

s/{{\//{{Wikipedia:Technik/Text/Reader/WikiTaxi/Skripte\//g s/\(\[\[Datei:[^]]\+|[123][0-9]px[^]]*\]\]\)/\&#x5B;*\&#x5D;\<!--\1--\>/g s/<onlyinclude>/\<onlyinclude\>\<!-- --\>/ s/{{PLURAL:/{{#ifexpr: 1 = /gi </syntaxhighlight>

wiki.extensions

WikiTaxi ersetzt Inputboxen und Imagemaps durch Platzhalter, das folgende Skript tut dies auch mit Gallerien, Zeitleisten und Kategorienbäumen.

<syntaxhighlight lang="bash">

  1. !/usr/bin/sed -f

s/< *timeline.*>/\&#x5B;Timeline\&#x5D;\<!--&/ s/< *\/timeline *>/&--\>/

s/< *gallery.*>/\&#x5B;Gallery\&#x5D;\<!--&/ s/< *\/gallery *>/&--\>/

s/< *categorytree.*>/\&#x5B;Categorytree\&#x5D;\<!--&/ s/< *\/categorytree *>/&--\>/ </syntaxhighlight>

wiki.interwiki

Einige neue Sprachen sind seit der letzten WikiTaxi-Version dazugekommen, Interwikilinks zu diesen bleiben in WikiTaxi am Ende stehen. Das folgende Skript kommentiert sie daher aus. Sämtliche Sprachen stehen hier.

<syntaxhighlight lang="bash">

  1. !/usr/bin/sed -f

s/\(\[\[ace:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[bxr:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[ckb:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[closed-zh-tw:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[cz:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[epo:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[jp:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[kaa:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[lbe:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[mhr:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[mwl:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[nomcom:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[pcd:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[pnt:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[pnb:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[srn:[^]]\+\]\]\)/\<!--\1--\>/ s/\(\[\[tp:[^]]\+\]\]\)/\<!--\1--\>/ </syntaxhighlight>

wiki.source

Im Zusammenhang mit source und pre verhält sich WikiTaxi nicht genau so wie Mediawiki. Dies betrifft insbesondere HTML-Kommentare und Vorlageneinbindungen. Durch das Skript bleibt der Wiki-Quelltext leider nicht mehr lesbar, dafür aber die Anzeige in WikiTaxi.

<syntaxhighlight lang="bash">

  1. !/usr/bin/sed -f
  1. von
     bis 
    oder Artikelende

/< *pre.*>/,/< *\/ *pre *>\|<\/text>\|<\/comment>/ {

  1. <! maskieren

s/<!/\&lt;!/g

  1. {{ maskieren

s/{{/\&#123;\&#123;/g

  1. ignorieren s/<<<\/\?nowiki>/\<!--&--\>/ } # gleiches für source /< *source.*>/,/< *\/ *source *>\|<\/text>\|<\/comment>/ { s/&/\&amp;/g s/<!/\&lt;!/g s/{{/\&#123;\&#123;/g } </syntaxhighlight> === wiki.poem === Gedichte kommen in Wikipedia nur selten vor, in Wikisource ist es dagegen sehr störend, wenn kein Zeilenumbruch erfolgt. <syntaxhighlight lang="bash"> #!/usr/bin/sed -f # von <poem> bis </poem> oder Artikelende /< *poem.*>/,/< *\/poem *>\|<\/text>\|<\/comment>/ { # erste und letzte Zeile auskommentieren /< *\/\?poem/ { s/< *\/\?poem.*>/\<!--&--\>/ b } # " ignorieren, vor nächste Zeile keinen Doppelpunkt /^"$/ { h b } # : voranstellen x /^"$/ { s/"// x b } x s/^.\+$/:&/ # leere Zeilen zu <br /> s/^$/\<br \/\>/ } </syntaxhighlight> === wiki.nowiki1 === Die Kleiner-Zeichen, die am Anfang eingefügt wurden, werden wieder entfernt. <syntaxhighlight lang="bash"> #!/usr/bin/sed -f s/<<//g </syntaxhighlight> === wiki.tags1 === Die Zeilenumbrüche, die am Anfang eingefügt wurden, werden wieder entfernt. <syntaxhighlight lang="bash"> #!/usr/bin/sed -nf # erste Zeile speichern 1 { h b } # bei zu entfernenden Zeilen /^"$/ { # nächste Zeile lesen n # und ohne Zeilenumbruch anhängen H g s/\n// h b } # gespeicherte Zeile ausgeben x p # letzte Zeile $ { x p } </syntaxhighlight> == Weiteres == Auf die gleiche Art kann man natürlich auch andere Probleme beseitigen. === Kategorien === Es ist möglich, die Kategorien mit den entsprechenden Seiten zu füllen. Allerdings dauert alles wesentlich länger, die Datenbank wird größer, Kategorisierung durch Vorlagen wird nicht funktionieren. Wem das egal ist, kann die folgenden Skripte verwenden. <code>wiki.kategorien0</code> ist ein sed-Skript, das vor <code>wiki.nowiki1</code> in die Befehlskette eingefügt werden muss. Dadurch entstehen im aktuellen Verzeichnis zwei Dateien mit allen Informationen zu den Kategorien. Anschließend führt man im selben Verzeichnis das Shell-Skript <code>wiki.kategorien1</code> aus. Mit etwas Aufwand ließe sich dieses Skript auch für Windows nachprogrammieren. Dieses fügt die beiden Dateien zusammen. Zum Schluss fügt man die gefüllten Kategorien in die Datenbank ein: {{Hilfe/tt|1=bzcat ''de.xml.bz2'' | wiki.kategorien2 | wiki.nowiki1 | wiki.tags1 | bzip2 > ''de2.xml.bz2''}} Diese letzte Datei wird nun importiert. Die erste Datei de.xml.bz2 und die Datei kategorien.ausgabe können anschließend beide gelöscht werden. ==== wiki.kategorien0 ==== <syntaxhighlight lang="bash"> #!/usr/bin/sed -nf p # Kategorieninhalt speichern, verfluchte leere Kategoriebeschreibungsseiten!!! /<title>Kategorie:/,/<\/text>\|<text xml:space="preserve" \/>/ w kategorien.beschreibung # Titel speichern /<title>/ { s/^.*<title>\([^<]*\)<\/title>.*$/\1/ h b } # nichts zwischen includeonly und in Kommentaren /<includeonly>/,/<\/includeonly>\|<\/text>/ b /<!--.*-->/ b /<!--/,/-->\|<\/text>/ b /<comment>/ b # Sortierung speichern /{{DEFAULTSORT:/ { s/^[^{]*{{DEFAULTSORT:\([^}]*\)}.*$/\1/ H x s/^\(.*\)\n\(.*\)$/\2\n\1/ x } # Kategorie speichern /\[\[Kategorie:/ { s/^.*\[\[Kategorie:\([^]]*\)\].*$/\1/ # Unterstriche zu Leerzeichen, %-Darstellung bei wichtigen Zeichen korrigieren y/_/ / s/%c3%84/Ä/gi s/%c3%96/Ö/gi s/%c3%9c/Ü/gi s/%c3%9f/ß/gi s/%c3%a4/ä/gi s/%c3%b6/ö/gi s/%c3%bc/ü/gi y/|/\n/ G # Inhalt Patternspace: Kat.\nSort.\nSort.\nTitel oder Kat.\nSort.\nTitel oder Kat.\nTitel s/^\(.*\n.*\)\n.*\(\n.*\)$/\1\2/ s/^[^\n]*\n\([^\n]*\)$/&\n\1/ t x : x y/\n/>/ # Inhalt Patternspace: Kat.>Sort.>Titel s/^\(.*\)\(>.*>\)\(Kategorie:.*\)$/\1>k\2:\3/ t weiter s/^\(.*\)\(>.*>.*\)$/\1>t\2/ :weiter s/^\(.*>.>.*\)>\(.*\)$/\1"* [[\2]]/ w kategorien.inhalt } </syntaxhighlight> ==== wiki.kategorien1 ==== <syntaxhighlight lang="bash"> #! /bin/sh nl -nrz -s'"' -ba -w8 kategorien.beschreibung | sed ' /<title>/ { h s/^.*<title>Kategorie:\([^<]*\)<.*$/\1>/ x } G s/<text xml:space="preserve" \/>/<text xml:space="preserve">/ s/^\(.*\)\n\(.*\)/\2\1/' > kategorien.beschreibung1 rm -f kategorien.beschreibung LANG=C # Inhalte nicht vorhandener Kategorien werden in andere Kategorien gesteckt sort kategorien.beschreibung1 kategorien.inhalt | uniq | sed ' s/^[^"]*"\(.*\)$/\1/ s/<\/text>// 0,/<title>/ { /<title>/ i <page> b } /<title>/ { i\ </text>\ </revision>\ </page>\ <page> b } $ { a\ </text>\ </revision>\ </page> }' > kategorien.ausgabe rm -f kategorien.beschreibung1 rm -f kategorien.inhalt </syntaxhighlight> ==== wiki.kategorien2 ==== <syntaxhighlight lang="bash"> #!/usr/bin/sed -nf /<\/siteinfo>/ r kategorien.ausgabe /<page>/ b /<title>Kategorie:/,/<\/page>/ b /<title>/ i <page> p </syntaxhighlight> === Mathematik === Während der Bearbeitung der Datenbank können auch einfache Formeln in HTML umgewandelt und damit von WikiTaxi angezeigt werden. Dazu benötigst du ein Programm, das LaTeX in HTML übersetzt. Meine Lösung baut auf [[texvc]] auf, das bei Wikipedia verwendet wird. Besorge dir also den Quelltext von texvc und einen [[Ocaml]]-Compiler. Das Ganze dauert dadurch allerdings etwas länger. In der Datei <code>html.ml</code> sind alle Zeilenumbrüche <code>\n</code> zu entfernen, die Datei <code>texvc.ml</code> ersetzt du durch folgenden Code: <syntaxhighlight lang="ocaml"> exception LexerException of string let lexer_token_safe lexbuf = try Lexer.token lexbuf with Failure s -> raise (LexerException s) let render tree = begin let html = Html.render tree in print_string (match (html,!Html.conservativeness) with None,_ -> "" | Some h,Html.CONSERVATIVE -> h | Some h,Html.MODERATE -> h | Some h,Html.LIBERAL -> h ); end let _ = try render (Parser.tex_expr lexer_token_safe (Lexing.from_string Sys.argv.(1))) with Parsing.Parse_error -> print_string "<span style='color:red;'>Syntaxfehler</span>" | LexerException _ -> print_string "<span style='color:red;'>Lexingfehler</span>" | Texutil.Illegal_tex_function s -> print_string ("<span style='color:red;'>Fehler</span> Unbekannte Funktion:" ^ s) (* oder print_string (""), falls eine ältere Version verwendet wird *) | Invalid_argument _ -> print_string "<span style='color:red;'>Fehler</span>" | Failure _ -> print_string "<span style='color:red;'>Fehler</span>" | _ -> print_string "<span style='color:red;'>Fehler</span>" </syntaxhighlight> Dann kompilierst du das Programm und kopierst es unter dem Namen <code>texvc_</code> zu den Skripten. Um während der Bearbeitung die Formeln zu übersetzen, fügst du in den Befehlsaufruf noch das folgende Skript <code>wiki.math</code> ein. ==== wiki.math ==== <syntaxhighlight lang="bash"> #!/usr/bin/sed -nf # von <math> bis </math> oder Artikelende /<math>/,/<\/math>\|<\/text>\|<\/comment>/I { # erste Zeile speichern /<math>/ { h b } # speichern H # bei letzter Zeile auswerten /<\/text>\|<\/comment>/ { g p } /<\/math>/I { g # Zeug entfernen s/\n"\n//g s/<\/\?math>//g y/\n/ / # HTML s/</</g s/>/>/g # ' escapen s/'/'"'"'/g # Programm aufrufen s/.*/texvc_ '&'/ e /./ { # doppelte kursiv weg s/<\/i><i>//g s/''/<nowiki>''<\/nowiki>/g s/{{/<nowiki>{{<\/nowiki>/g s/\[/<nowiki>[<\/nowiki>/g s/|/\|/g s/!!/<nowiki>!!<\/nowiki>/g # HTML maskieren s/&/\&/g s/"/\"/g s/</\</g s/>/\>/g x s/^/\<!--/ s/$/--\>/ H g s/\n// p b } g p } b } p </syntaxhighlight> == Andere Sprachen und Schwesterprojekte == Für andere Sprachen und Projekte muss vor allem das Skript <code>wiki.de</code> angepasst werden. Die Namensraum-Aliase findet man im Zweifelsfall [http://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php hier]. Ferner sind in allen Skripten mit deutschem Namen irgendwelche Lokalisierungen vorhanden, die angepasst werden müssen. Skripte für nicht installierte oder nicht verwendete Erweiterungen können entfallen. === Wikisource === In Wikisource wird die [[mw:Extension:Labeled Section Transclusion|Labeled Section Transclusion]]-Erweiterung verwendet. Diese mit den Mitteln nachzuprogrammieren, die WikiTaxi kennt, ist unmöglich. Zum Glück wird aber nur ein Teil der Funktionalität benutzt, dieser kann mit ein paar <nowiki>{{#if-s nachgebildet werden. Der Befehlsaufruf lautet Vorlage:Hilfe/tt.

wiki.desource

<syntaxhighlight lang="bash">

  1. !/usr/bin/sed -f
  1. Lokalisierungen

s/#WEITERLEITUNG/#REDIRECT/i s/\[\[Image:/\[\[Datei:/gi s/\[\[File:/\[\[Datei:/gi s/\[\[Bild:/\[\[Datei:/gi s/{{SEITENTITEL:/{{DISPLAYTITLE:/ s/{{SORTIERUNG:/{{DEFAULTSORT:/ s/<abschnitt anfang/\<section begin/ig s/<abschnitt ende/\<section end/ig

  1. Variablen

s/https://wiki-de.moshellshocker.dns64.de{{localurl:/{{canonicalurl:/g s/Wikipedia (Deutsch) – Lokale Kopie/Wikisource/g s/https://wiki-de.moshellshocker.dns64.de/https:\/\/de.wikisource.org/g s/{{fullurl:/{{canonicalurl:de.wikisource.org\/wiki\//gi s/{{localurl:\([^|}]*\)[^}]*}}/\/wiki\/\1/gi s/Wikipedia:Technik/Text/Reader/WikiTaxi/Skripte/Wikipedia:Technik/Text/Reader/WikiTaxi/Skripte/g s/1878313/0/g s/1/0/g s/05/0/g s/2022/0/g s/<pagequality [^\/]*\/>/\<!--&--\>/ s/|action=edit&image=\([^ ]*\) /|action=edit\&image=%5C1 /

  1. Namensraum-Aliase

s/\[\[WS:/\[\[Wikisource:/g </syntaxhighlight>

wiki.lst

<syntaxhighlight lang="bash">

  1. !/usr/bin/sed -f
  1. senkrechte Striche escapen

/<section *begin=/,/<section *end\|<\/text>\|<\/comment>/ { /"/ b s/|/"/g s/{{\([^"}]*\)"\([^"}]*\)/{{\1|\2/g s/{{\([^"}]*\)"\([^"}]*\)"\([^"}]*\)/{{\1|\2|\3/g s/{{\([^"}]*\)"\([^"}]*\)"\([^"}]*\)"\([^"}]*\)/{{\1|\2|\3|\4/g s/"/|/g }

  1. Anfang durch ein #ifeq ersetzen, nur wenn der übergebene Parameter
  2. (default: text, egal ob groß oder klein) stimmt oder die Seite direkt betrachtet wird anzeigen

s/<section *begin=\("\)\?\([^ &]*\)\("\)\? *\/ *>/\<includeonly\>{{#ifeq:text|\2|\<\/includeonly\>/g s/{{#ifeq:text|Text|/{{#ifeq:Text|Text|/ s/<section *begin *\/ *>//g

  1. Ende schließen

s/<section *end[^\/]*\/ *>/\<includeonly\>|}}\<\/includeonly\>/ig

  1. lst ist damit überflüssig

s/{{#lst:/{{:/g </syntaxhighlight>

Wikibooks

Wikibooks hat beim Testen den ungeheuren Vorteil, dass die Datenbank sehr klein ist, und damit alles ziemlich schnell geht. Statt wiki.de verwendet man wiki.debooks:

wiki.debooks

<syntaxhighlight lang="bash">

  1. !/usr/bin/sed -f
  1. Lokalisierungen

s/#WEITERLEITUNG/#REDIRECT/i s/\[\[Image:/\[\[Datei:/gi s/\[\[File:/\[\[Datei:/gi s/\[\[Bild:/\[\[Datei:/gi s/{{SEITENTITEL:/{{DISPLAYTITLE:/ s/{{SORTIERUNG:/{{DEFAULTSORT:/

  1. Variablen

s/https://wiki-de.moshellshocker.dns64.de{{localurl:/{{canonicalurl:/g s/Wikipedia (Deutsch) – Lokale Kopie/Wikibooks/g s/{{fullurl:/{{canonicalurl:de.wikibooks.org\/wiki\//gi s/Wikipedia/Wikipedia/g s/Wikipedia:Technik/Text/Reader/WikiTaxi/Skripte/Technik/Text/Reader/WikiTaxi/Skripte/g

  1. Namensraum-Aliase
  1. s/\[\[WB:/\[\[Wikibooks:/g

</syntaxhighlight>

Fehler

Fehler können immer auftreten. Erfolgreich getestet habe ich die obigen Skripte – einschließlich Kategorien und Mathematik – mit der deutschen Wikipedia (20100307). Alte Versionen der Skripte habe ich auch erfolgreich auf Wikibooks (20090607) und Wikisource (20091218) angewandt. Zumindest größere Fehler sollten daher nicht mehr auftreten.

Falls dir ein Fehler auffällt, und sei er auch noch so klein, dann melde ihn doch bitte auf der Diskussionsseite.