Wikiup:Lua/Werkstatt/Flagicons

aus Wikipedia, der freien Enzyklopädie

Ablösung sämtlicher Vorlagenprogrammierung für die Flagicons durch ein Lua-Modul und eine separate Datentabelle.

  • Vereinfachung der Wartung
  • Generierung der TemplateData-Informationen

Konzeption

1. Es ändert sich nichts an vorhandenen Einbindungen.
Höchstens, wenn eine Vorlagen-Dokumentation Flagicons benutzt, könnte in einigen Fällen ein zusätzlicher Parameter notwendig werden.
Das kann aber auch anders gelöst werden; siehe unten.
2. Die vorhandene Vorlagendoku bleibt Wikitext.
Die Seite Vorlage:Vorlagendokumentation Land mit Flagge bleibt analog; allerdings vielleicht an anderem Ort.
Sie erhält jedoch zwei Parameter:
  • Den Landescode
  • Den Landesnamen
Damit kann jede Doku individuell generiert werden und passt sich der dokumentierten Vorlage an.
3. TemplateData wird generiert.
Und zwar zentral für alle Flagicon-Vorlagen; aber mit individuellen Angaben.
4. Die Programmierung der Vorlagen wird radikal vereinfacht.
Sie besteht nur noch aus einer Zeile wie der folgenden:
{{#invoke:Vorlage:Flagicon|f|DEU}}
5. Eine Doku-Seite für jede Einzel-Vorlage ist nicht mehr erforderlich; die Doku wird unmittelbar generiert.
6. Die Wartung aller Codes, der Landesnamen und der Dateinamen erfolgt zentral auf einer einzigen Seite.
Aufbau etwa wie folgt:
[ "DEU" ]          = { "Deutschland", "Flag of Germany.svg" },
[ "DEU-1806" ]     = { "Rheinbund",   "Flag of the Confederation of the Rhine.svg" },
[ "DEU-SWR-LAND" ] = { "Deutschland", "Flag of German Reich (1933–1935).svg" },

Ausgabe des Moduls

Es gibt zwei Fälle:

  1. Bild-Einbindung mit Berücksichtigung der Parameter
    • Auch mit Link und Linktitel, und Sortierschlüssel davor.
    • Immer wenn:
      • Nicht im Vorlagen-Namensraum.
      • Es wurde irgendein Parameter bei der Einbindung gesetzt; insbesondere:
        |icon=
      • Der Titel der angezeigten Vorlage enthält ein Leerzeichen.
  2. Bild-Einbindung + spezifische Doku + spezifische TemplateData
    • Immer wenn:
      • Nicht Fall 1.
      • Es könnte bei Unklarheit untersucht werden, wie der Quelltext der einbindenden Seite aussieht. Besteht er nur aus dem #invoke:, ist die Doku zu liefern.