„Modul:Sortierschlüssel“ – Versionsunterschied
KKeine Bearbeitungszusammenfassung Markierung: Manuelle Zurücksetzung |
K "return "Sortierschlüssel: " .. result" in "return .. result" |
||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
-- Modul:Sortierschlüssel | |||
local p = {} | local p = {} | ||
-- Funktion: | -- Funktion: Rohwert-Ausgabe für SMW-Property oder maschinelle Nutzung | ||
function p. | function p.roh(frame) | ||
local title = mw.title.getCurrentTitle() | local title = mw.title.getCurrentTitle() | ||
local content = title:getContent() | local content = title:getContent() or "" | ||
-- Suche nach {{SORTIERUNG:...}} | |||
local sortkey = content:match("{{[Ss][Oo][Rr][Tt][Ii][Ee][Rr][Uu][Nn][Gg]%s*:%s*([^}|]+)") | local sortkey = content:match("{{[Ss][Oo][Rr][Tt][Ii][Ee][Rr][Uu][Nn][Gg]%s*:%s*([^}|]+)") | ||
if sortkey then | -- Fallback: Seitentitel, falls kein Sortierschlüssel vorhanden | ||
if not sortkey or sortkey == "" then | |||
sortkey = title.text | |||
end | end | ||
return sortkey | |||
end | end | ||
-- Funktion: | -- Funktion: Menschliche Anzeige in Fließtext | ||
function p. | function p.anzeigen(frame) | ||
local | local result = p.roh(frame) | ||
if | if result and result ~= "" then | ||
return result | |||
return | |||
else | else | ||
return "" | return "Kein Sortierschlüssel gefunden" | ||
end | end | ||
end | end | ||
return p | return p | ||
Aktuelle Version vom 17. April 2025, 17:40 Uhr
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:
für den Leser sichtbar angezeigt werden können
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:
Das Modul findet und verarbeitet méǵas.
Aufrufmöglichkeiten
1. Menschliche Anzeige (für Kontrolle)
Zeigt den gefundenen Sortierschlüssel lesbar an.
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:
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