Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Coordinates
– Modul mit Funktionen für Koordinaten (Geo-, Himmelskörper, GeoHack).
Funktionen für Vorlagen
- kmlTitle
- Ersetze Zeichen, die im
kmlexport
Probleme machen (etwa Halbgeviertstrich, typografische Anführungszeichen), durch möglichst ähnliche vereinfachte Darstellungen. - Entferne anschließend alle sonstigen nicht abbildbaren Zeichen, die Probleme machen.
- Parameter:
- 1
- Beschriftungstext
- Ergebnis: bereinigter Beschriftungstext – würde dieser leer, bleibt es beim ursprünglichen Beschriftungstext
- Im Wesentlichen ist das ein Anpassung für den Parameter name von {{Coordinate}}.
- Versehentliche Mehrfachaufrufe der Funktion kosten Effizienz, ändern aber nichts am Ergebnis.
Hack für kmlexport 2017/18
Dieses Werkzeug hat Probleme bei Dekodieren der URL, wenn in UTF-8 kodierte Zeichen auftreten, die mehr als drei Oktetts benötigen. Das ist ab U+0800 (204810) der Fall.
Die Funktion kmlTitle beseitigt die Problematik übergangsweise.
Andere Wikiprojekte können das folgende Modul direkt kopieren:
oder die enthaltenen drei Funktionen in ein örtliches Module:Coordinates (d:Q7348344) kopieren.
Der Aufruf durch Vorlagen lautet dementsprechend in integrierter Fassung
{{#invoke:Coordinates|kmlTitle|Some title for geohack}}
oder gesondert
{{#invoke:Coordinates/kml|kmlTitle|Some title for geohack}}
Um problematische Zeichen nicht ersatzlos zu eliminieren, sondern hilfsweise darzustellen, sollten die folgenden beiden Module ebenfalls angelegt werden:
Fehlen diese, dann funktioniert die Reparaturfunktion trotzdem, kann jedoch keine Ersatzdarstellungen erzeugen.
Testfall: „ỹ—jajaja“ „ỹ—jajaja“
→ "y-jajaja""y-jajaja"
Allgemeine Hinweise zur Einbindung von Modulen
Eine Einbindung erfolgt jeweils im Format
{{#invoke: Coordinates |
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.