Benutzer:Formatierer/Dokumentation

Aus Wiktionary, dem freien Wörterbuch

Einige Funktionalitäten im Wiktionary erfordern das Zusammenspiel mehrerer an unterschiedlichen Stellen eingesetzte Skripte und Vorlagen, deren technisches Zusammenspiel hier erläutert werden soll.

Eingabefelder für Listen[Bearbeiten]

Obiges Eingabefeld benötigt Javascript und wird in MediaWiki:Gadget-rhymesedit.js in der Funktion setUpListAdder erzeugt. Dabei gibt es je nach Namensraum zwei Verfahrensweisen. Im Namensraum Thesaurus (104) werden die Eingabefelder automatisch erstellt. Im Code ab addOnloadHook Zeile: if((ns==104) && mw.config.get("wgAction")=="view"). In den Namensräumen Benutzer (2), Wiktionary (4) und Verzeichnis (102) müssen sie manuell mittels einer Vorlage erzeugt werden. Im Code ab addOnloadHook Zeile: if((ns==2||ns==4||ns==102) && mw.config.get("wgAction")=="view"). In den übrigen Namensräumen werden keine Eingabefelder unterstützt.

Bedienung[Bearbeiten]

Bedienfeld
Bedienfeld
Bedienfeld
Bedienfeld

Nach Betätigen des '+'-Buttons wird die Eingabe alphabetisch in die Liste eingefügt. Dann erscheint links oben im Browserfenster ein Page Editor Bedienfeld. Da die vorgenommene Änderung zunächst nur lokal im Browser existiert, muss zum Speichern auf dem Server noch der Button 'Publish Changes' gedrückt werden. Solange die Änderungen noch nicht veröffentlicht sind, können sie mittels 'Undo' rückgängig und mit Redo wiederhergestellt werden. Da das Speichern mehrerer Änderungen etwas Zeit benötigt, darf weder das Browserfenster geschlossen, noch die Seite gewechselt werden, solange der Editor nicht die erfolgreiche Veröffentlichung durch die Anzeige von '... Published' meldet. Ansonsten können Änderungen verloren gehen.

Um mehrere Listeneinträge hinzuzufügen, können und sollen diese alle einzeln mit dem '+'-Button zunächst zur Vorschau gebracht werden, bevor man dann erst am Ende, wenn man fertig ist, alles auf einmal links oben mit „Publish Changes“ abspeichert.

Konfiguration im Namensraum Thesaurus[Bearbeiten]

Zum Abschalten der automatischen Eingabefelderzeugung muss auf der jeweiligen Seite ein <div>-Element mit dem Attribut class="jsNoAdd" angelegt werden. Dies geschieht über Einbinden der Vorlage:jsNoAdd. Sollen nicht alle Listen einer Seite mit einem Eingabefeld versorgt werden, so müssen diejenigen Listen, die ein Eingabefeld benötigen mit einem <div>-Element mit dem Attribut class="jsAdd" eingeklammert werden. Dies geschieht über Vorlage:jsAdd( und Vorlage:jsAdd).

Konfiguration in den Namensräumen Benutzer, Wiktionary und Verzeichnis[Bearbeiten]

In diesen Namensräumen müssen diejenigen Listen, die ein Eingabefeld benötigen mit Vorlage:jsAdd( und Vorlage:jsAdd) eingeklammert werden. Bei mehreren Listen auf einer Seite genügt es diese Vorlagen einmal um alle oder entsprechend um die mit Eingabefeld zu versehenden Listen zu setzen. Bitte zu jeder Vorlage:jsAdd( eine Vorlage:jsAdd) verwenden, da sonst kein korrekter HTML-Code erzeugt wird.

Reime[Bearbeiten]

Rückläufige Wörterliste[Bearbeiten]

Zum Aufbau der nach Sprache getrennten Wörterlisten werden Kategorien verwendet. Dies hat den Vorteil, dass die Listen automatisch erzeugt werden können, aber auch den Nachteil, dass in den Listen nur Wörter enthalten sind, die bereits über einen Eintrag im Wiktionary verfügen.

Die Erzeugung erfolgt über die Vorlage:Wortart. Dabei wird der Sortierparameter der Kategorien benutzt, um eine rückläufige Sortierung der Einträge zu erreichen. Das jeweilige Lemma wird dort durch die Funktion reverse des Lua-Moduls Modul:Str {{#invoke:Str|reverse|{{PAGENAME}}}} rückwärts eingetragen. Der Parameter {{{2}}} der Vorlage:Wortart enthält den Namen der Sprache. Somit erzeugt folgender Text: [[Kategorie:Rückläufige Wörterliste ({{{2}}})|{{#invoke:Str|reverse|{{PAGENAME}}}}]] den Eintrag in die gewünschte Kategorie.

Da bei einigen hunderttausend Seiten das Blättern zu einer bestimmten Seite sehr aufwändig werden kann, wurde noch ein Suchfeld zur Verfügung gestellt, das am Anfang der Kategorieseite eingeblendet wird und es erlaubt, zu einem bestimmten Eintrag zu springen. Dieses Suchfeld benötigt Javascript und wird in MediaWiki:Gadget-DeWiktCommon.js ab der Stelle if ((ns==14) && mw.config.get("wgAction") == "view") erzeugt. Hier wird der eingegebene Suchtext ebenfalls rückwärts zum Suchen verwendet. Als Abfallprodukt wurde das Suchfeld auch in den übrigen Kategorien zur Verfügung gestellt. Die rechtsbündige Anzeige mittels "dir", "rtl" wird ebenfalls in diesem Abschnitt eingestellt, die deshalb auch nur mit aktiviertem Javascript funktioniert.