Wikipedia:Lua/Modul/ImageCollection
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Modul zur Verwaltung und Darstellung einer Bilderserie, deren Elemente mit einem Schlüsselbezeichner eingebunden werden können. Wartungsfunktionen werden über das Modul:ImageCollection/maintenance dargestellt.
Funktionen für Vorlagen
- f
- Datei aus einer Serie mit dem angegebenen Schlüssel zentral konfiguriert einbinden
- Parameter des
#invoke
(obligatorisch):- 1
- JSON-Seite mit Konfiguration der Serie
- Parameter des Vorlagenaufrufs:
- 1
- Schlüsselbezeichner (obligatorisch)
- 2
- Dateigröße mit Einheit (optional)
- inventory
- Übersicht der Dateien einer Serie generieren
- Parameter des
#invoke
:- 1
- JSON-Seite mit Konfiguration der Serie (obligatorisch)
- format
- Ausgabeformat
colTable
– mehrere Tabellen in maximal drei Spalten
Funktionen für Lua-Module
Einbindung in andere Module:
local _, ImageCollection = pcall( require, "Module:ImageCollection" )
if type( ImageCollection ) == "table" then
ImageCollection = ImageCollection()
end
Danach stehen die Funktionen des Moduls in anderen Modulen zur Verfügung.
Konfiguration
Für jede Bilderserie muss eine Konfigurationsseite mit dem Inhaltsmodell JSON bestehen. Diese hat folgende Grundform:
{
"config": {
"defaults": {},
"error": {},
"i18n": {},
"source": ""
},
"groups": {
"order": [],
"title": {}
},
"data": {}
}
config
Der config-Baum enthält die grundlegende Konfiguration der Bilderserie.
- defaults
- Standardattribute für die Bildeinbindung konfigurieren. Wird eines der Attribute in der defaults-Definition weggelassen und ist auch nicht im data-Baum definiert, so fehlt dieses Attribut in der Bildeinbindung.
- alt
- Alternativtext (Zeichenkette)
- class
- CSS-Klasse (Zeichenkette)
- group
- Standard für Gruppeneinordnung (Zeichenkette), kein Bildattribut im Sinne einer Einbindung, Standardwert ist
-
- invert
- Bild im Dunkelmodus invertieren (
true
) oder nicht (false
), Standardwert istfalse
. - link
- Linkziel des Bilds (Zeichenkette), Standardwert ist name
- name
- Bildbeschreibung (Zeichenkette), Standardwert ist der Schlüsselbezeichner
- options
- Bildoptionen (Zeichenkette), siehe Hilfe:Bilder
- size
- Bildgröße mit Einheit (Zeichenkette)
- error
- Konfiguration der Fehlerausgabe. Verfügbare Fehlertypen sind:
default
– Sammelkonfiguration für alle Fehlertypen. Wird nur wirksam, wenn der jeweilige Typ nicht konfiguriert ist.keynotfound
– Schlüssel wurde nicht gefundenmanual
– Fehler wurde manuell im data-Baum für den angegebenen Schlüssel ausgelöst
- Grundstruktur eines Fehlertyps:
"default": { "category": "", "class": "", "style": "", "text": "" }
- category
- Kategorie, die im Fehlerfall ausgelöst werden soll (Zeichenkette; ohne „Kategorie“-Präfix)
- class
- CSS-Klasse (Zeichenkette)
- style
- CSS-Stildefinition (Zeichenkette)
- text
- angezeigter Fehlertext (Zeichenkette)
- Es stehen zwei Ersetzungsvariablen
%s
zur Verfügung:- 1. Vorkommen: Verlinkung der ausgebenden Vorlage (siehe source)
- 2. Vorkommen: konkrete Fehlermeldung (siehe i18n)
- Um einen Fehlertyp (oder alle Fehlerausgaben bei Wahl von
default
) zu deaktivieren, kann diesem ein leeres JSON-Objekt zugewiesen werden. - i18n
- Ausgabetexte des Moduls
- errorKeyNotFound
- Fehlermeldung bei nicht gefundenem Schlüssel (Zeichenkette).
- colTableHeaderText
- Spaltenbezeichnungen für die Tabellen von #inventory (JSON-Array aus Zeichenketten)
- source
- Quellvorlage, für Anzeige von Fehlermeldungen.
groups
Der groups-Baum erlaubt das Zusammenfassen mehrerer Bilder einer Serie in Gruppen.
- order
- Reihenfolge der Gruppen in Ausgaben (JSON-Array aus Gruppenbezeichner)
- title
- Zuweisungen zwischen Gruppenbezeichner und dessen Titel in Ausgaben (JSON-Objekt aus Bezeichner und Titel).
data
Der data-Baum definiert die verfügbaren Bilder der Serie. Die Grundstruktur eines Datenelements mit allen Attributen ist wie folgt:
"<Schlüsselname>": {
"alias": "",
"alt": "",
"class": "",
"error": "",
"file": "",
"group": "",
"invert": ,
"link": "",
"name": "",
"options": "",
"size": ""
}
Nicht alle dieser Attribute müssen für jedes Element vorhanden sein. Werden sie weggelassen, greifen die defaults-Standardwerte unter #config.
- alias
- Schlüssel ist ein Alias eines anderen Schlüssels (Zeichenkette)
- Dieses Attribut kann den Namen eines anderen Schlüssels enthalten, der anstelle des aktuellen Schlüssels genutzt wird. Alle anderen Attribute außer group werden ignoriert.
- alt
- Alternativtext (Zeichenkette)
- class
- CSS-Klasse (Zeichenkette)
- error
- Fehlermeldung bei Angabe dieses Schlüssels auslösen (Zeichenkette)
- file
- Dateiname ohne Namensraumbezeichnung (Zeichenkette)
- group
- Gruppeneinordnung (Zeichenkette)
- invert
- Bild im Dunkelmodus invertieren (
true
) oder nicht (false
) - link
- Linkziel des Bilds (Zeichenkette), Standardwert ist name
- name
- Bildbeschreibung (Zeichenkette), Standardwert ist der Schlüsselbezeichner
- options
- Bildoptionen (Zeichenkette), siehe Hilfe:Bilder
- size
- Bildgröße mit Einheit (Zeichenkette)
Beispiel
produktiv eingesetzt:
Abhängigkeiten
keine
Allgemeine Hinweise zur Einbindung von Modulen
Eine Einbindung erfolgt jeweils im Format
{{#invoke: ImageCollection |
Funktionsname | Wert1 | Wert2 | NameX=Wert … }}
Die Parameter können wie bei Vorlagen benannt oder unbenannt sein; deren Regeln gelten analog.
Wenn unbekannte Zeichenketten von außen kommen (als Vorlagenparameter), sollte immer mit der Form 1=
Wert gearbeitet werden.
Zu allgemeinen Problemen beachte die Abhilfen wie bei Vorlagen.
Wenn in einer Vorlage ein Modul verwendet wird, sollte auch immer die Vorlage:Dokumentation/Lua in der Dokumentationsseite eingebunden werden.
- Das gibt einem Programmierer Aufschluss, dass ein Lua-Modul benutzt wird, welche/s und ggf. welche Einzelfunktion daraus, und verlinkt auf die Dokumentation.
- Die Modul-Dokumentationen bekommen ein Link, in welchen Vorlagen sie eingesetzt werden, und wo bei eventuellen Funktionsänderungen Anpassungen erforderlich werden.
- Die Vorlage wird zur Übersicht kategorisiert in Kategorie:Vorlage:mit Lua-Programmierung.
Zu weiteren Informationen siehe Hilfe:Lua.
Bei Problemen wende dich bitte an die Vorlagen-Werkstatt, in schweren Fällen hilft auch die Lua-Werkstatt.