Wikipedia:Lua/Modul/TemplateData/Global
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Mit dem Plug-In global kann eine vielsprachige Dokumentation für weltweit genutzte Standardvorlagen geteilt werden.
Voraussetzung ist, dass der Parametersatz in den verschiedenen Wiki-Projekten identisch oder mit nur geringen Abweichungen verwendet wird.
Parameter der TemplateData-Vorlage
[Quelltext bearbeiten]Statt des üblichen Parameters JSON=
wird verwendet:
Global=
Bezeichner
Der Bezeichner identifiziert eine Ressource im globalen Repositorium.
Außerdem kann ein weiterer Parameter für notwendige lokale Anpassungen benutzt werden:
Local=
JSON code
Globales Repositorium
[Quelltext bearbeiten]- Es wird das Projekt Commons: (Wikimedia Commons) erwartet, und zwar zurzeit nur im Namensraum
Data:
. - Dort wird, sofern dem Bezeichner kein expliziter Pfadname vorangestellt wurde, eine „Oberseite“ Commons:Data:TemplateData angenommen.
- Sofern keine explizite „Datei-Endung“ angehängt wurde, wird das Format
.tab
angenommen; dies ist „Tabular Data“.
Tabellenformat
[Quelltext bearbeiten]Die Beschreibung description
der Gesamt-Tabelle umreißt die vorgesehene Vorlage und verweist auf deren Eintrag bei Wikidata.
Die sonstigen formalen Einträge (Lizenz usw.) entsprechen den üblichen Gepflogenheiten.
Die Daten-Sektion spezifiziert dann vor allem die einzelnen Vorlagenparameter.
Vom Daten-Schema wird erwartet, dass es die meisten der nachstehenden Felder definiert, sofern benötigt:
name | type | Anmerkung |
---|---|---|
name
|
string
|
Obligatorisch |
label
|
localized
| |
description
|
localized
| |
type
|
string
| |
required
|
boolean
| |
suggested
|
boolean
| |
default
|
localized
| |
example
|
localized
| |
aliases
|
string
|
aliases
wäre eine durch Pipe-Symbole|
getrennte Auflistung der Parameternamen.deprecated
darf (muss), anders als beim MediaWiki TemplateData, vom Typlocalized
sein.
deprecated
wäre für eine globale Beschreibung einer stabilen Vorlage ungewöhnlich, könnte aber eines Tages ebenfalls auftreten, falls eine Umstellung vorgenommen werden muss.autovalue
undinherits
sowiestyle
werden nicht erwartet, sind jedoch möglich.
Anders als bei dem von MediaWiki für TemplateData vorgesehenen JSON-Objekt, bei dem die Komponenten als set (assoziativ, map) in beliebiger Reihenfolge wiedergegeben werden können, wird hier ein Array von Objekten verwendet. Damit ist sichergestellt, dass die Parameter in genau der definierten Reihenfolge gehandhabt werden.
Allgemein gilt:
name
ist der Name des einzelnen Vorlagenparameters.- Alle anderen Bezeichner entsprechen den gängigen TemplateData-Attributen.
- Sofern Elemente vom Typ
localized
oderstring
für diesen Parameter nicht verwendet werden sollen, kann ihnen der Wertnull
zugewiesen werden. - Es müssen immer genauso viele Felder zugewiesen werden wie im Schema definiert wurde, die Aufzählung also ggf. mit
null
aufgefüllt werden. - Eine Zeichenkette darf maximal 400 Zeichen lang werden.
Der Parametername |
, der in der Vorlagenprogrammierung nicht möglich wäre, hat eine Sonderbedeutung:
- Er definiert die Vorlage als Ganzes.
- Die
description
ist die Anwenderbeschreibung des Vorlagenzwecks. - Das Feld
type
beschreibt das Quelltextformatformat
(block/inline).
Lokale Anpassung
[Quelltext bearbeiten]Mit dem Parameter Local=
der TemplateData-Vorlage können alle globalen Werte lokal überschrieben werden.
Der Wert ist eine Zeichenkette als JSON im gleichen Format wie der Parameter JSON=
, definiert jedoch nur solche Eigenschaften, die sich lokal unterscheiden sollen.
Bei der Parameterliste gibt es folgende Abweichungen:
- Sie ist ein Array von Objekten, genauso wie auch in der globalen Tabelle.
- Sie enthält jedoch nur die Vorlagenparameter.
- Statt als assoziativ benannte Komponente enthält jede Parameterspezifikation einen oder zwei der möglichen
string
-Werteglobal
und/oderlocal
.
global | local | Bedeutung |
---|---|---|
string
|
fehlend | Weise die sonstigen Eigenschaften dem global mit gleichem name spezifizierten Parameter zu.
|
string
|
string
|
Benenne den globalen Parameter entsprechend um; ansonsten wie vor. |
string
|
false
|
Entferne diesen globalen Parameter aus der Liste. |
fehlend | string
|
Füge einen entsprechenden lokalen Parameter an dieser Stelle der Liste hinzu. |
Die Reihenfolge im Array definiert die Reihenfolge in der Darstellung.
Für die Kombination bereits vorhandener Definitionen gilt:
- Ist noch kein Wert gesetzt, wird der lokale Wert verwendet.
- Ist ein atomarer (string/boolean) globaler Wert vorhanden, wird er durch den lokalen Wert überschrieben.
- Ist ein
localized
bereits vorhanden, sollte der lokale Wert ebenfalls vom Typlocalized
sein. Vorhandene Sprachkomponenten werden dann mit lokalen Werten überschrieben, zusätzliche Sprachkomponenten hinzugefügt.