Wikipedia:Lua/Modul/FileMedia

Vorlagenprogrammierung Diskussionen Lua Test Unterseiten
Modul Deutsch English

Modul: Dokumentation

FileMedia – Modul mit Funktionen für Mediendateien (Bilder), Beschreibungsseiten dazu sowie Seiten mit besonders formatierten Inhalten.

Funktionen für Vorlagen

Alle Funktionen haben einen unbenannten Parameter mit dem Seitennamen (sinnvollerweise anzugeben). Dieser ist tolerant gegenüber Leerzeichen vor oder nach dem Inhalt.

Der Rückgabewert ist eine leere Zeichenkette („nichts“), wenn der Parameterwert die Erwartung nicht erfüllt. Wenn ein Ergebnis vorhanden oder die Abfragebedingung wahr ist, resultiert mindestens ein Zeichen. Das Ergebnis beginnt oder endet nicht mit Leerzeichen.

Viele Funktionen sind „teuer“ – das bedeutet, dass maximal 500 Abfragen pro Gesamt-Seite erlaubt sind. Sie können jeweils doppelt teuer werden, wenn die Mediendatei lokal nicht existiert und auch auf Commons nachgefragt werden muss.

getBasePage
Extrahiere aus einem Seitennamen die existierende Basisseite ohne „Dateiendung“
getExtension
Extrahiere aus einem Seitentitel die mutmaßliche „Dateiendung“ (Ergebnis kleingeschrieben)
  • nichts – wenn nicht erkannt
getHeight
Gewinne aus dem Seitentitel oder Seitennamen einer Datei die Bildhöhe in Pixeln [teuer]
  • nichts – wenn nicht erkannt
getHeightWidth
Gewinne aus dem Seitentitel oder Seitennamen einer Datei die Ausdehnung im Format 123x456px wie bei Bildparametern [teuer]
  • nichts – wenn nicht erkannt
getMimeType
Gewinne aus dem Seitentitel oder Seitennamen einer Datei den MIME-Typ [teuer]
  • nichts – wenn nicht erkannt
getPageCount
Gewinne aus dem Seitentitel oder Seitennamen einer Datei die Seitenanzahl von paged media [teuer]
  • 0 – wenn vorhanden, aber nicht potentiell mehrseitig
  • nichts – wenn nicht erkannt
getSize
Gewinne aus dem Seitentitel oder Seitennamen einer Datei die Größe in Bytes [teuer]
  • nichts – wenn nicht erkannt
getTitle
Gewinne aus dem Seitentitel oder Seitennamen einer Datei den kanonischen Seitentitel (mit Leerzeichen)
  • nichts – wenn nicht erkannt
getType
Gewinne aus einem Seitentitel den Datentyp anhand der mutmaßlichen „Dateiendung“
Datentypen sind: audio data paged pixel program style vector video
  • nichts – wenn nicht erkannt
getWidth
Gewinne aus dem Seitentitel oder Seitennamen einer Datei die Bildbreite in Pixeln [teuer]
  • nichts – wenn nicht erkannt
isFile
Ist es der Bezeichner einer Mediendatei, mit oder ohne Namensraum?
  • 1ja
isType
Erfüllt der Dateiname die Erwartung 2 an den Dateinamen?
Datentypen 2 sind: audio data paged pixel program style vector video sowie file imagefile ist für den Dateinamensraum geeignet und image darüberhinaus als Einzelbild.
  • 1ja
setParSize
Prüfe oder vervollständige eine Bildgröße in Pixeln als px-Parameter
Ganze positive Zahlen werden um px ergänzt.
Gleichfalls die x-Formate für die Kombination mit der Bildhöhe.
  • nichts – wenn nicht erkannt
Optionaler zweiter Parameter: Vorgabe, falls erster Parameter untauglich.
Optionaler Parameter pipe (boolesch): Stelle einem nicht-leeren Ergebnis ein Pipe-Symbol voran.
failsafe

Die Failsafe-Schnittstelle erlaubt den damit ausgerüsteten Modulen in globaler Verteilung

  • sicherzustellen, dass eine von einer Vorlage oder einem Modul benötigte Funktion in der lokalen Kopie eines Bibliotheksmoduls vorhanden ist, und ggf. auch in einer erforderlichen Mindestversion;
  • die globale Aktualisierung und Verknüpfung von Modulen über Wikidata zu verwalten.

Die Failsafe-Schnittstelle liegt sowohl auf Ebene der Vorlagen wie auch in direktem Lua-Zugriff vor.

Die Funktionen sind im Einzelnen (nicht alle werden bereits überall in vollem Umfang unterstützt):

Parameter
Wert Ergebnis aktuell
nichts
false
lokale Version »2025-07-16«
Mindest­version Mindestversionsbezeichnung
Datum im ISO-Format

Es wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.

  • leer, falls Mindestversion nicht erfüllt
  • 2001-01-01 → »2025-07-16«
  • 2099-01-01 → »«
wikidata Versionsbezeichnung der globalen Mutter (d:Q24765326)
  • Versionsbezeichnung auf Wikidata
  • lokal, falls dort keine gefunden
»2025-07-16«
item ID des Wikidata-Items
  • leer, falls nicht definiert
»Q24765326«
~ Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung
  • leer, falls aktuell
  • Versionsbezeichnung auf Wikidata, falls ungleich
»«
@ Ist die aktuelle (Modul-)Seite richtig mit Wikidata verknüpft?
  • leer, falls mit dem richtigen Item verknüpft
  • Item-ID, falls nicht
Der Rückgabewert ist in der Vorlagenprogrammierung leer und per Lua false; andernfalls die angegebene Zeichenkette.

Beispiele (Testseite)

Eine Testseite illustriert praktische Beispiele.

Allgemeine Hinweise zur Einbindung von Modulen

Eine Einbindung erfolgt jeweils im Format

{{#invoke: FileMedia | 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.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.