Skin: MediaWiki


Diese Projektseite beschreibt im technischen Detail die im MediaWiki-Namensraum und anderswo gespeicherten Informationen, mittels derer das Erscheinungsbild und die Funktionalität von Wiki-Projekten für alle Benutzer konfiguriert und angepasst werden können.

Alle Inhaltsseiten können nur von dazu besonders berechtigten Benutzern verändert werden.

Es gibt folgende Grundtypen:

  1. Systemnachrichten – kleine Textbausteine, zur Übersetzung in die deutsche Sprache oder zur Anpassung dieses Wiki an globale Strukturen
  2. RessourcenCSS und JavaScript, das in alle oder bestimmte Seiten eingebunden wird; sowie JSON zur Konfiguration
  3. Gadgets (Helferlein) – Ressourcen, die ggf. benutzerkonfigurierbar gestartet werden oder auch nicht

Die Seiten der ersten Gruppe können nur von Administratoren oder „Benutzeroberflächenadministratoren“ verändert werden, die programmtechnisch wirksamen „Ressourcen“ (CSS/JavaScript) nur von Benutzeroberflächenadministratoren.

Anlaufstellen für Anfragen:

Zukünftig sollen weitere Server-Konfigurationsmöglichkeiten hinzukommen, die über JSON im MediaWiki-Namensraum spezifiziert werden.

Systemnachrichten

Bearbeiten

Alle ins Deutsche zu übersetzenden Text-Fragmente, die in einer Seite erscheinen, können über Einträge im MediaWiki-Namensraum verändert werden.

Die Baustein-Wirkung auf die aktuelle Seite lässt sich herausfinden, indem man den URL-Parameter ?uselang=qqx (bzw. &uselang=qqx bei /w/index.php? statt /wiki/) an die momentane URL anhängt.

Es werden dann jeweils in Klammern die Identifizierer (Seiten-Bezeichner) angezeigt.

Hinzu kommen kleine Anpassungen an das lokale Wiki, etwa die Namen von Kategorien oder Projektseiten.

Ressourcen

Bearbeiten

Weil im MediaWiki-Namensraum nur von Administratoren geändert werden konnte, werden über einzelne Textbausteine hinaus auch komplexere Zusammenstellungen (ähnlich „Dateien“) abgelegt. Mittlerweile ist Zugehörigkeit zu den Benutzeroberflächenadministratoren für Änderungen erforderlich.

Es gibt im Wesentlichen zwei Typen von Ressourcen:

  • CSS – optische Darstellung des Seiteninhalts
  • JavaScript (JS) – aktive Funktionen

Bildchen

Bearbeiten

Das System verwendet Grafiken, die eher nicht lokal konfigurierbar sind:

Komplexe Konfigurationen

Bearbeiten

Verschiedene administrativ kontrollierte Anpassungen, die über kleine Systemnachrichten hinausgehen, sind ebenfalls im MediaWiki-Namensraum hinterlegt. Sie beeinflussen das Erscheinungsbild, die „Skin“, nur mittelbar. Vielmehr betreffen sie funktionale Aspekte.

Zunehmend wird auch JSON eingesetzt, um komplexe Situationen modellieren zu können.

  • JSON kann in der Regel mit einfachen Admin-Rechten verändert werden.
  • JSON ermöglicht eine komplexere Syntax, verglichen mit trivialen Textzeilen, und damit etwa robuste Aufzählungen sowie strukturierte Hierarchien und Fallunterscheidungen. Eine einfache Textzeile müsste nach individuellen Formatregeln geparst und in Bestandteile zerlegt werden; bei JSON ist hingegen bereits ein einheitliches Format für Strukturen vorgegeben.
  • JSON kann von der Wiki-Software (PHP), von Lua und von JavaScript-Programmen leicht ausgelesen werden.

Gadgets (Helferlein)

Bearbeiten

Gadgets sind ein Sonderfall der Ressourcen. Gadgets können in der Regel von angemeldeten Benutzern individuell zu- oder gelegentlich abgewählt werden. Die Programmierung wird durch die hiesige Community gepflegt.

Es gibt in Gadgets die Möglichkeit, JavaScript einzubinden (der häufigste Fall) und dies auch mit CSS zu kombinieren oder ein reines CSS-Gadget zu definieren.

Hauptsächlich interessant sind:

Skin-Programmierung in PHP

Bearbeiten

Rein informativ die Programmierung der Skins in PHP; sie generiert das Grundgerüst der Ausgabeseite in HTML.

Skin Repositorium Callsign Code-Suche Workboard
Vector
„2010“
mediawiki/skins/Vector/* SVEC Codes #Vector
Vector2022 #Desktop_Improvements_(Vector_2022)
MonoBook mediawiki/skins/MonoBook/* SMNB Codes #MonoBook
Modern mediawiki/skins/Modern/* SMOD Codes #Modern
Timeless mediawiki/skins/Timeless/* STIM Codes #Timeless
Minerva mediawiki/skins/Minerva/* SMIN Codes #MinervaNeue
Alle einzelnen SKIN/* Codes
Core
Basis-
Programm­schema
includes/skins MW Codes #mediawiki-interface

Weitere Informationen

Bearbeiten