Wikipedia:Technik/Skin/MediaWiki

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

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
  3. Gadgets (Helferlein) – Ressourcen, die benutzerkonfigurierbar verwendet werden oder auch nicht

Die Seiten der ersten Gruppe können nur von Administratoren oder „Benutzeroberflächenadministratoren“ verändert werden, die programmtechnisch wirksamen „Ressourcen“ nur von Benutzeroberflächenadministratoren. Anlaufstelle für Anfragen, die nur von Benutzeroberflächenadministratoren umgesetzt werden können, ist Wikipedia:Technik/Skin/MediaWiki/Änderungen.

Systemnachrichten[Quelltext 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.

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

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

Komplexe Konfigurationen[Quelltext 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)[Quelltext bearbeiten]

Gadgets sind ein Sonderfall der Ressourcen. Gadgets können 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:

Mehr aus der Not heraus geboren – der Namensraum war nur von Administratoren veränderbar – wurden die Gadgets im MediaWiki-Namensraum gespeichert und erwartet. Mittlerweile gibt es speziell für JavaScript und CSS des Projekts einen eigenen Namensraum „Gadgets“, in den langfristig aller Code verlagert werden soll, der nicht reiner Textbaustein ist.

Skin-Programmierung in PHP[Quelltext 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[Quelltext bearbeiten]