Benutzer:Schnark/js/wikieditor/Teil 1

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Dieser Teil der Dokumentation erklärt, wie du grundlegende Schaltflächen und Auswahllisten zur Werkzeugleiste hinzufügen kannst. Außerdem erfährst du, wie du ganze Gruppen mit solchen Dingen einfügen kannst. Aufbauend auf dieser Grundlage werden dann weitere Konfigurationsmöglichkeiten in den anderen Teilen erklärt.

Wenn du der Anleitung gefolgt bist, hast du bereits irgendwo eine Funktion definiert, in die du die Konfigurationsanweisungen schreiben sollst.

Hinzufügen von Schaltflächen und Auswahllisten

[Bearbeiten | Quelltext bearbeiten]

Die Funktionen, die zum Hinzufügen von Schaltflächen und Auswahllisten zuständig sind, verlangen zwei Parameter: Die Stelle, an der das entsprechende Element eingefügt werden soll, und ein Code für das Element selbst.

Für den Ort gibt es zunächst zwei Möglichkeiten (in Teil 2 wirst du weitere Varianten erfahren): Die Hauptleiste, für die die Bezeichnung einfach '' (zwei einfache Anführungszeichen) lautet, und die erweiterte Leiste mit dem Namen 'advanced'.

Die möglichen Codes für Schaltflächen stimmen mit denen des Gadgets Extra-Editbuttons überein, wobei ich noch nicht alle übernommen habe. Außerdem gibt es in vielen Fällen eine alternative Bezeichnung, die vorzuziehen ist. Auch der Code wird in (einfache) Anführungszeichen gesetzt.

Als weitere Codes sind die internen Namen bereits vorhandener Schaltflächen möglich, siehe dazu den Teil 3.

Code Symbol Funktion Anmerkung
sort {{SORTIERUNG:}}
DO {{Erl.}}
ER {{Erledigt}}
FS {{Unsigned}}
H Versteckter Kommentar
I Gedankenstrich
K, kat Kategorie
L, indent eingerückt
M Blockquote
N geschütztes Leerzeichen
PD {{Personendaten}} Cursor steht bei NAME, nicht wie bisher bei ALTERNATIVNAMEN
Q Definitionsliste
Q1 Anführungszeichen
R1 benannter Einzelnachweis
R2 wiederholter Einzelnachweis
R3, ref <references />
S durchgestrichen
T {{}}
TL Link auf Vorlage
TT Font Schreibmaschine fügt <code></code> ein, da <tt></tt> veraltet ist
U unterstrichen
ZI {{Zitat}}
math <math></math>
sig --~~~~ Unterschrift immer vorhanden (eigentlich soll die Standardschaltfläche im ANR nicht angezeigt werden, was derzeit aber nicht funktioniert), beachtet eine evt. vorhandene Variable usersignature, Standard-Knopf wird entfernt
10 waagerechte Linie
willk {{Willkommen}} nur auf Benutzerdiskussionen

Bei den Auswahllisten gibt es folgende Codes (auch diese werden in Anführungszeichen gesetzt):

Code Funktion Anmerkung
BKL verschiedene Vorlagen für Begriffsklärungen
CODE verschiedene Formatierungen für Quelltexte u. ä.
EK verschiedene Vorlagen für die Eingangskontrolle unterscheidet zwischen Benutzerdiskussions- und anderen Seiten
KALP Bewertungsvorlagen für WP:KALP wird nur dort angezeigt
KEB Bewertungsvorlagen für WP:KEB wird nur dort angezeigt
MH verschiedene Vorlagen für Mängelhinweise
ND {{Normdaten}}
PCN Vorlagen für Pro, Contra und Neutral
SP Linkvorlagen zu Schwesterprojekten

Um eine Schaltfläche hinzuzufügen, verwendest du die Funktion wikieditor.addButton('Ort', 'Code');, für Auswahllisten wikieditor.addSelect('Ort', 'Code');, wobei du jeweils den entsprechenden Ort und den Code angibst. Für mehrere Schaltflächen/Auswahllisten musst du die Funktionen entsprechend mehrmals mit den verschiedenen Codes aufrufen.

Die neue Schaltfläche für die Signatur und einige Auswahllisten mit Unterschriften können durch eine Variable usersignature gesteuert werden. Dazu schreibst du außerhalb der geschweiften Klammern (am besten ganz an den Anfang deiner common.js) die Zeile var usersignature = '...';, wobei du zwischen die Anführungszeichen die gewünschte Signatur einträgst, also etwa

//<nowiki>
var usersignature = '~~~~';
//</nowiki>

falls du keine zwei Striche vor deiner Signatur haben möchtest. Damit die Tilden nicht sofort durch deine Unterschrift ersetzt werden, müssen sie innerhalb eines nowiki-Bereiches stehen. Die Angabe einer eigenen Signatur ist aber optional, alle Unterschriften funktionieren auch ohne sie.

Hinzfügen von Gruppen

[Bearbeiten | Quelltext bearbeiten]

Einige Schaltflächen werden meist gemeinsam benötigt, sodass du sie gleich als ganze Gruppe einfügen kannst. Der Befehl hierzu lautet wikieditor.addGroup('Ort', 'Code');. Für den Ort gibt es die selben Möglichkeiten wie oben (also '' und 'advanced'). Für den Code gibt es die folgenden Möglichkeiten:

Code Funktion
PD Schaltflächen für {{SORTIERUNG:}}, Kategorien und Personendaten

Wenn dir der angezeigte Gruppenname nicht gefällt, kannst du einen eigenen Namen angeben: wikieditor.addGroup('Ort', 'Code', 'Name');

Die Beispiele verwenden für die Einbindung immer die Methode, bei der die Konfigurationsfunktion in einem eigenen Skript definiert ist. Das Wesentliche aber ist nur der Inhalt dieser Konfigurationsfunktion und gilt für alle Konfigurationsmöglichkeiten.

mw.libs.wikieditor = { //<nowiki>
 config: function (wikieditor) {
  wikieditor.addButton('advanced', 'math');
  wikieditor.addSelect('', 'KALP');
  wikieditor.addSelect('', 'KEB');
  if ((mw.config.get('wgPageName') !== 'Wikipedia:Kandidaturen_von_Artikeln,_Listen_und_Portalen') &&
      (mw.config.get('wgPageName') !== 'Wikipedia:Kandidaten_für_exzellente_Bilder')) {
        wikieditor.addSelect('advanced', 'PCN');
  }
 }
}; //</nowiki>

Dieses Beispiel fügt in die erweiterte Leiste eine Schaltfläche für mathematische Formeln und in die Hauptleiste Auswahllisten für Bewertungen auf WP:KALP und WP:KEB ein, wobei letztere nur dort angezeigt werden, wo man sie braucht. In allen anderen Fällen wird in der erweiterten Leiste die Auswahlliste für Pro, Contra und Neutral eingefügt.

//<nowiki>
var usersignature = '~~~~';
mw.libs.wikieditor = {
 config: function (wikieditor) {
  wikieditor.addButton('', 'sig');
  wikieditor.addButton('', 'sort');
  wikieditor.addButton('', 'kat');
  wikieditor.addButton('', 'PD');
  wikieditor.addSelect('advanced', 'ND');
 }
}; //</nowiki>

In diesem Beispiel wird die Standard-Signatur ersetzt durch eine ohne die beiden Bindestriche. Außerdem werden in der Hauptleiste Schaltflächen für Sortierschlüssel, Kategorien und Personendaten eingefügt. In der erweiterten Leiste wird eine Auswahlliste für Normdaten eingefügt.

mw.libs.wikieditor = { //<nowiki>
 config: function (wikieditor) {
  wikieditor.addGroup('', 'PD');
 }
}; //</nowiki>

Dieses Beispiel fügt eine Gruppe für Personendaten und Ähnliches in die Hauptleiste ein.


Dokumentation: EinleitungTeil 1Teil 2Teil 3Teil 4Teil 5

Skripte: wikieditor.jswikieditor.js/basic.jswikieditor.js/de.jsBenutzer:Schnark/js/wikieditor.js/global.jsListe von Beispielanwendungen

Alternativen: Beschreibung der Toolbar-API (englisch) • ähnliches, wesentlich kompakteres Skript von Benutzer:Krinkle (englisch) • alte Version des Skripts