Vorlagenprogrammierung Diskussionen Lua Test Unterseiten
Modul Deutsch English

Modul: Dokumentation

Sort – Modul mit Hilfsfunktionen zur Bildung von Sortierschlüsseln.

Funktionen für Vorlagen Bearbeiten

  • Alle Funktionen werten den ersten Parameter aus als Sortierbegriff.
    • Sofern dieser nicht im #invoke spezifiziert wurde, wird der erste Parameter der umgebenden Vorlageneinbindung herangezogen.
  • Die optionalen Parameter von #invoke spezifizieren Ein- und Ausgabeformat sowie weitere Möglichkeiten.

Rückgabewert ist jeweils der Sortierschlüssel.

Tlatin Bearbeiten

Alphanumerische Begriffe in lateinisch basierten Schriften werden auf ASCII-Grundzeichen reduziert.

Optionale Parameter
v
Variante
Vorgabe: ISO (Entfernung aller diakritischer Zeichen; Ligaturen durch zwei Buchstaben)
  • Allerlei typografische Codes für Leerzeichen, waagerechte Striche und unsichtbare Zeichen werden auf ASCII reduziert.
  • Mehrfache Leerzeichen (whitespace) werden auf eines reduziert.

Groß- und Kleinschreibung bleibt erhalten; diese kann mit Leichtigkeit nachträglich aus dem Ergebnis eliminiert werden.

textOrder Bearbeiten

Der Wert ist 1 wenn die erste Zeichenkette lexikalisch vor der zweiten Zeichenkette liegt; sonst leer.

Pflichtparameter, führender Whitespace ist signifikant
1
erste Zeichenkette
2
zweite Zeichenkette

failsafe Bearbeiten

Versionsbezeichnung

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 »2024-01-01«
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 → »2024-01-01«
  • 2099-01-01 → »«
wikidata Versionsbezeichnung der globalen Mutter (d:Q24205172)
  • Versionsbezeichnung auf Wikidata
  • lokal, falls dort keine gefunden
»2024-01-01«
item ID des Wikidata-Items
  • leer, falls nicht definiert
»Q24205172«
~ Ü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
»Q24205172«
Der Rückgabewert ist in der Vorlagenprogrammierung leer und per Lua false; andernfalls die angegebene Zeichenkette.

Beispiele (Testseite) Bearbeiten

Eine Testseite illustriert Resultate zu Eingabeformaten.

Datum und Zeit Bearbeiten

Dies wird implementiert über das Modul DateTime.

Funktionen für Lua-Module Bearbeiten

Die Funktionen für Vorlagen sind geeignet erreichbar. Zur prinzipiellen Funktionalität siehe jeweils dort.

Einbindung über require():

local lucky, Sort = pcall( require, "Module:Sort" )
if type( Sort ) == "table" then
    Sort = Sort()
else
    -- Fehlerfall; Sort enthält Fehlermeldung
    return "<span class='error'>" .. Sort .. "</span>"
end

Danach stehen zur Verfügung:

Sort.lex( adjust, apply, adapt )
Wie etwa Tlatin.
adjust
Begriff (string)
Pflichtparameter
apply
Schriftbasis (string)
  • "latin"
  • "cyrillic"
  • "greek"
  • "uni"
zurzeit nur latin verfügbar
adapt
Variante (string, optional)
  • "DIN5007m2"
Rückgabewert: string mit Sortierschlüssel
Sort.failsafe( atleast )
Versionsbezeichnung
  1. atleast
    optional
    nil oder Mindestversion
Rückgabewert: string oder false

Früher wurde zur Initialisierung auch Sort = Sort.Sort() empfohlen; dies sollte gekürzt werden.

Installation auf anderen Projekten Bearbeiten

Siehe englischsprachige Dokumentation.

Verwendung Bearbeiten

Allgemeines Hilfsmittel; nicht eingegrenzt.

Abhängigkeiten Bearbeiten

Keine.

Untermodule Bearbeiten

Planung Bearbeiten

  • Modul:Sort/cyrillic – Sortiertabelle für kyrillisch basierte Schriften (Ukrainisch usw.).
  • Modul:Sort/greek – Sortiertabelle für griechische Schrift (Polytonisch).
  • Modul:Sort/uni – Sortiertabelle für alle (buchstabenorientierten?) Schriftsysteme.

Internationalisierung Bearbeiten

Nicht erforderlich.