Benutzer:Schnark/js/extratabs
Dieses Skript erzeugt einige zusätzliche Reiter (im Monobook-Skin direkt neben den anderen Reitern, im Vector-Skin zusammen mit „Verschieben“ im Drop-Down-Menü) und Einträge in der linken Seitenspalte mit nützlichen Funktionen, hauptsächlich auf dem Labs-Server.
Einschränkung
[Bearbeiten | Quelltext bearbeiten]- In der Standard-Einstellung werden teils so viele Reiter eingefügt, dass man das Skript nur im Vector-Skin vernünftig nutzen kann.
- Aufgenommen sind die meisten Tools, die sich sinnvoll als kontextbezogenes Werkzeug verlinken lassen, ursprünglich diente Benutzer:Inkowik/Tools als Grundlage, sowie sonstige Werkzeuge, die einem so über den Weg laufen. Falls dir irgendewtas fehlt, kann ich das noch einfügen.
- Auf Grund der Tatsache, dass jeder Tool-Programmierer seine eigenen Vorstellungen hat, wie das Projekt angegeben werden muss, ob der Namensraum einer Seite davorstehen muss, wie Leerzeichen zu codieren sind, etc. gibt es sicher genug Tools, die auf einigen Seiten oder in einigen Projekten falsch aufgerufen werden, in diesem Fall bitte ebenfalls bei mir melden.
Einbindung
[Bearbeiten | Quelltext bearbeiten]Falls du meine Skriptsammlung Fliegelflagel verwendest, ist das Skript in der Standardkonfiguration bereits aktiviert.
Andere Benutzer können das Skript in der eigenen common.js einbinden mit:
//[[Benutzer:Schnark/js/extratabs.js]]
mw.loader.load('https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/extratabs.js&action=raw&ctype=text/javascript');
Konfiguration
[Bearbeiten | Quelltext bearbeiten]Falls die Google-Übersetzung nicht angezeigt wird, in die falsche Sprache übersetzt oder überflüssig ist, musst du in der Fliegelflagel-Konfiguration die Sprache anpassen.
Die Auswahl der Tools lässt sich konfigurieren, dazu musst du das Skript aber über Fliegelflagel einbinden. Beachte auch die Hinweise in der Fliegelflagel-Dokumentation!
Um die Auswahl der Tools zu konfigurieren, verwendest du die Funktionen extratabs.add
, extratabs.enable
, extratabs.remove
und extratabs.replace
.
add
erwartet als ersten Parameter den Namen des Tools (siehe im Code die Einträge intools
, oder ein mittelsextratabs.defineTool
selbst definiertes Tool), als zweiten, optionalen Parameter eine Bedingung, wann das Tool angezeigt werden soll und als dritten, ebenfalls optionalen Parameter den Ort (verwende den String'p-tb'
, wenn das Tool nicht als Reiter, sondern in der linken Spalte erscheinen soll). Der Parameter für die Bedingung ist entweder ein String oder ein Array aus Strings. In diesem Fall müssen alle Bedingungen erfüllt sein, damit das Tool angezeigt wird. Beginnt eine Bedingung mit einem Ausrufezeichen, so wird sie negiert. Mögliche Bedingungen sind:action_aktion
, wobeiaktion
für eine Aktion wieview
(dies schließtpurge
mit ein),edit
(dies schließtsubmit
mit ein) oderhistory
stehtspecial_spezial
, wobeispezial
für den kanonischen Namen einer Spezialseite (in Kleinbuchstaben) steht, etwasearch
ns_namensraum
, wobeinamensraum
den Namensraum angibt: entweder eine Zahl, ein kanonischer Name (etwauser
, dies schließt Diskussionsseiten mit ein) odertalk
für Diskussionsseitenis_ip
prüft ob der betroffene Benutzer (Benutzer(-diskussions-)seite/-beiträge) eine IP ist
enable
erwartet als einzigen Parameter den Namen des (standardmäßig deaktivierten) Tools, das aktiviert werden soll.remove
erwartet als einzigen Parameter den Namen des Tools, das entfernt werden soll.replace
erwartet als ersten Parameter den Namen des zu ersetzenden Tools, als zweiten den Namen des Tools, das stattdessen angezeigt werden soll.
Beispiel: Wenn du ab und zu den VisualEditor verwenden willst, ohne ihn dauerhaft in deinen Einstellungen zu aktivieren, kannst du das hierfür existierende, aber standardmäßig deaktivierte Tool visualeditor
aktivieren:
extratabs: function (extratabs) {
extratabs.enable('visualeditor');
}
Soll er dagegen nur im ANR erscheinen, so musst du das Tool selbst hinzufügen:
extratabs: function (extratabs) {
extratabs.add('visualeditor', 'ns_0');
}
Oder wenn du ein anderes Tool zum Anzeigen der erstellten Seiten bevorzugst:
extratabs: function (extratabs) {
extratabs.replace('pages', 'created');
}
Selbstverständlich lassen sich diese Beispiele auch kombinieren, also etwa
extratabs: function (extratabs) {
extratabs.enable('visualeditor');
extratabs.replace('pages', 'created');
}
Code
[Bearbeiten | Quelltext bearbeiten]Der Javascript-Code befindet sich unter Benutzer:Schnark/js/extratabs.js.