Wikipedia:Lua/Modul/ImageCollection

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
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 ist 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)
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 gefunden
  • manual – 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.

  1. Das gibt einem Programmierer Aufschluss, dass ein Lua-Modul benutzt wird, welche/s und ggf. welche Einzelfunktion daraus, und verlinkt auf die Dokumentation.
  2. Die Modul-Dokumentationen bekommen ein Link, in welchen Vorlagen sie eingesetzt werden, und wo bei eventuellen Funktionsänderungen Anpassungen erforderlich werden.
  3. 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.