Benutzer:Schnark/js/wikieditor/Teil 1
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.
Grundgerüst
[Bearbeiten | Quelltext bearbeiten]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');
Beispiele
[Bearbeiten | Quelltext bearbeiten]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.
Beispiel 1
[Bearbeiten | Quelltext bearbeiten]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.
Beispiel 2
[Bearbeiten | Quelltext bearbeiten]//<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.
Beispiel 3
[Bearbeiten | Quelltext bearbeiten]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: Einleitung • Teil 1 • Teil 2 • Teil 3 • Teil 4 • Teil 5
Skripte: wikieditor.js • wikieditor.js/basic.js • wikieditor.js/de.js • Benutzer:Schnark/js/wikieditor.js/global.js • Liste von Beispielanwendungen
Alternativen: Beschreibung der Toolbar-API (englisch) • ähnliches, wesentlich kompakteres Skript von Benutzer:Krinkle (englisch) • alte Version des Skripts