Da ich kein Fan davon bin, nicht überlebenswichtig-geheimes Wissen hinter der Stirn einzuschließen und mir ein solcher Blogartikel vor ein paar Tagen weiter geholfen hätte, müsst ihr diesen Artikel über Mediawiki-Kram ertragen. – Auch wenn er schätzungsweise eine Zielgruppe von ca. 3 Menschen hat (vielleicht auch mehr, dank des Google-Übersetzers).

Die Offene Bibel bekommt einen neuen Editor. Dieser ist wesentlich funktionaler, als der Standardeditor. Das gilt zumindest für die Menschen, die nicht täglich mit dem Mediawiki arbeiten. Er bietet Wikitext-Schnipsel, eine Hilfe und sogar Sonderzeichen. Mit letzteren können endlich auch hebräische und griechische Wörter direkt eingegeben werden, inklusive Akzente und Vokale. Der WikiEditor ist ein tolles Ding, leider ist er noch im Beta-Status und wird zur Zeit auch von der Wikipedia ausprobiert. Bis jetzt sind mir keine Fehler aufgefallen, deshalb habe ich mich daran gesetzt den WikiEditor (genauer die Toolbar) für die Offene Bibel entsprechend zu modifizieren.

Die Dokumentation ist leider noch nicht so ganz gut, oder ich bin einfach zu blöd. Erschwerend kommt hinzu, dass mit dem letzten Versionssprung einige Dinge in andere Dateien gewandert sind.  Da ich lieber in Textdateien rumfrickel,  als mich auf Tools zu verlassen, habe ich die klassische Variante gewählt. Ich gehe im Folgenden von einer geglückten Installation von WikiEditor-MW1.17-r85437 im Mediawiki 1.17 aus. Wichtig beim Verändern der Toolbar sind folgende Dateien:

  • WikiEditor/WikiEditor.i18n.php
  • WikiEditor/WikiEditor.php
  • WikiEditor/modules/images/toolbar/button-sprite.png
  • WikiEditor/modules/ext.wikiEditor.toolbar.js

Die Struktur steht in der letztgenannten Datei. Die Struktur eines Buttons sieht so aus:
   'reference': {
      'labelMsg': 'wikieditor-toolbar-tool-reference',
      'filters': [ 'body.ns-subject' ],
      'type': 'button',
      'offset': [2, -1798],
      'icon': 'insert-reference.png',
      'action': {
         'type': 'encapsulate',
         'options': {
            'pre': "<ref>",
            'periMsg': 'wikieditor-toolbar-tool-reference-example',
            'post': "</ref>"
         }
      }
   },

Die für den Benutzer sichtbaren Texte sind kursiv markiert, einmal der Tooltip unter dem Button, einmal das, was eingefügt wird. Eigentlich wird alles in den „options“ eingefügt. Allerdings kann der Editor auch mit schon fertigem, markierten Text umgehen, sodass die Tags in pre und post stehen müssen und der perMsg-Text nur bei Bedarf eingefügt wird. Die (optionalen) „filters“ können eingesetzt werden, um den Button nur in bestimmten Situationen anzeigen zu lassen, in diesem Fall wird der Button nicht auf Diskussionsseiten angezeigt.

Ein am Anfang für mich irritierender Punkt war die Technik, das Button-Bild zu laden. Es ist nämlich nicht wie auf den ersten Blick denkbar „insert-reference.png“ (das vermutlich aus Kompatibilitätsgründen vorgehalten wird), sondern „button-sprite.png“, dass alle Buttonpictogramme vereint und dann mit einem entsprechenden Offset angezeigt wird. Die Technik spart wohl Bandbreite, treibt Unwissende aber in den Wahnsinn. 😉

Nun zum Text zurück. Damit der Editor auch vernünftigen Text anzeigen kann, muss noch die Datei „WikiEditor.i18n.php“ bearbeitet werden. Im Normalfall ist natürlich schon eine Übersetzung da, will man aber eigene Buttons bauen und nicht nur Schaltflächen verschieben, muss man selbst ran.

Die Einträge für unser Beispiel könnten dann so aussehen (im de-Block der Datei)
   'wikieditor-toolbar-tool-reference' => 'Fussnote',
   'wikieditor-toolbar-tool-reference-example' => 'Fußnotentext hier einfügen',

Damit taucht aber immer noch kein Text auf, denn man muss der Logik erstmal sagen, dass sie auch auf diese Übersetzung achten soll (ja, technisch könnte man das wesentlich besser erklären). Dazu kommt nun die letzte Datei ins Spiel: „WikiEditor.php“. Hier wird einfach entsprechend
   'wikieditor-toolbar-tool-reference',
   'wikieditor-toolbar-tool-reference-example',

kurz vor Ende der Datei eingefügt. Ihr merkt schon wo. Alles andere ist stumpfes Copy&Paste (auch die Kategorien/Sections funktionieren nach dem Schema) und der Eintrag der gewünschten Funktionen und Vorlagen, die ihr einbauen wollt.

Der WikiEditor hat übrigens noch wesentlich mehr zu bieten,  Vorschau und Änderungsvorschau ohne reload der Seite, Dialogfenster, … Leider übersteigt das meine Fähigkeiten und/oder meine momentane Zeit. Wenn sich jemand bereit erklärte für die Offene Bibel ein Dialogfenster zu schreiben (für die Parallelstellen), wäre ich übrigens sehr dankbar.

Übrigens ist das Debuggen nicht ganz einfach, da der Editor nicht immer gleich richtige Fehlermeldungen schmeißt, sondern auch gerne einfach nicht mehr auftaucht. Bei mir drehten sich die Fehler meistens um ein vergessenes Komma beim Verschieben oder Kopieren von Buttons oder Kategorien.

PS: Ich arbeite momentan gerade mit jemandem an einer intelligenteren, sprich kontextabhängigen Variante. Wenn das Projekt weiter gediehen ist, gibt’s auch Screenshots.