Wikipedia:Lua/Modul/Coordinates/de

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

Coordinates – Modul mit Funktionen für Koordinaten (Geo-, Himmelskörper, GeoHack).

In der deutschsprachigen Wikipedia ist zurzeit keine Version dieses Moduls en:Module:Coordinates (d:Q7348344) angelegt.

Das sollte erst in dem Moment erfolgen, indem es auch produktiv eingesetzt wird, und dann in der frischesten Version.

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