Zum Inhalt springen

Modul:Sortierschlüssel

aus AufEinWort, der freien Forschung

Zweck und Funktion

Das Modul Modul:Sortierschluessel dient der automatisierten Auslesung des in einer Seite gesetzten Sortierschlüssels ( oder ) direkt aus dem Seitentext.

Hauptziel:

Der Sortierschlüssel soll:

  1. für den Leser sichtbar angezeigt werden können

  2. für Semantic MediaWiki (SMW) als Property-Wert inline weiterverwendbar sein

Damit wird vermieden:

  • Sortierwerte mehrfach eintragen zu müssen

  • Sortierschlüssel nicht sichtbar kontrollieren zu können


Funktionsweise

Das Modul durchsucht den Wikitext der aktuellen Seite (getContent()) nach einem gesetzten und extrahiert den enthaltenen Wert.

Beispiel:

Im Seitentext steht:

wikitext
<button class="flex gap-1 items-center select-none px-4 py-1" aria-label="Kopieren">Kopieren</button><button class="flex items-center gap-1 px-4 py-1 select-none">Bearbeiten</button>
Achtung: Der Sortierungsschlüssel „méǵas“ überschreibt den vorher verwendeten Schlüssel „...“.

Das Modul findet und verarbeitet méǵas.


Aufrufmöglichkeiten

1. Menschliche Anzeige (für Kontrolle)

Zeigt den gefundenen Sortierschlüssel lesbar an.

wikitext
<button class="flex gap-1 items-center select-none px-4 py-1" aria-label="Kopieren">Kopieren</button><button class="flex items-center gap-1 px-4 py-1 select-none">Bearbeiten</button>
Skriptfehler: Ein solches Modul „Sortierschluessel“ ist nicht vorhanden.

Ergebnis:

Sortierschlüssel: méǵas


2. Reine Rückgabe des Wertes (für SMW-Properties)

Gibt nur den gefundenen Sortierschlüssel „roh“ ohne Zusatztext aus.

Verwendung:

wikitext
<button class="flex gap-1 items-center select-none px-4 py-1" aria-label="Kopieren">Kopieren</button><button class="flex items-center gap-1 px-4 py-1 select-none">Bearbeiten</button>
Skriptfehler: Ein solches Modul „Sortierschluessel“ ist nicht vorhanden.

Ergebnis (im SMW-Property gespeichert):

méǵas


Technische Hinweise

  • Das Modul greift ausschließlich auf den sichtbaren Wikitext zu.

  • Es funktioniert nur, wenn Achtung: Der Sortierungsschlüssel „...“ überschreibt den vorher verwendeten Schlüssel „méǵas“. direkt im Quelltext der Seite steht (nicht aus einer eingebundenen Vorlage erzeugt).

  • Groß-/Kleinschreibung des MagicWord wird toleriert.


Erweiterbarkeit

Das Modul kann jederzeit um weitere Funktionen ergänzt werden — zum Beispiel:

  • Auslesen anderer Steuerinformationen

  • Prüfung auf Mehrfachverwendung

  • Logging


Lizenz und Autorenschaft

Dieses Modul Modul:Sortierschluessel wurde gemeinschaftlich erstellt von Nikolaos (Konzept, Anwendung, Problemdefinition) und Sophos / ChatGPT (Code-Generierung, Umsetzung) und steht unter einer offenen Lizenz zur freien Nutzung, Weitergabe und Modifikation ohne Einschränkung.


-- Modul:Sortierschlüssel

local p = {}

-- Funktion: Rohwert-Ausgabe für SMW-Property oder maschinelle Nutzung
function p.roh(frame)
    local title = mw.title.getCurrentTitle()
    local content = title:getContent() or ""

    -- Suche nach {{SORTIERUNG:...}}
    local sortkey = content:match("{{[Ss][Oo][Rr][Tt][Ii][Ee][Rr][Uu][Nn][Gg]%s*:%s*([^}|]+)")

    -- Fallback: Seitentitel, falls kein Sortierschlüssel vorhanden
    if not sortkey or sortkey == "" then
        sortkey = title.text
    end

    return sortkey
end

-- Funktion: Menschliche Anzeige in Fließtext
function p.anzeigen(frame)
    local result = p.roh(frame)

    if result and result ~= "" then
        return result
    else
        return "Kein Sortierschlüssel gefunden"
    end
end

return p