Wikipedia:Lua/Modul/Coordinates/de
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Coordinates
– Modul mit Funktionen für Koordinaten (Geo-, Himmelskörper, GeoHack).
Funktionen für Vorlagen
[Quelltext bearbeiten]- 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
[Quelltext bearbeiten]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"
Funktionen für Lua-Module
[Quelltext bearbeiten]Einbindung über require()
für eine Zeichenkette show
:
local lucky, kmlHack = pcall( require, "Module:Coordinates/kml" )
if type( kmlHack ) == "table" then
show = kmlHack._kmlTitle( show )
end