Modul:Überschriftungagr
Erscheinungsbild
-- Modul:Überschriftung -- Version 1.0 – Zusätzliche Prüfung, ob die Modul-Seite existiert
local p = {}
-- Hauptfunktion: Transkription des aktuellen Seitennamens function p.transkribiere(frame)
local title = mw.title.getCurrentTitle() local content = title:getContent() or ""
-- Schriftart extrahieren (mit Punkt zulassen, vollständig lesen)
local schriftart = content:match("%[%[Schriftart::([%w%.%-_]+)%]%]")
if not schriftart or schriftart == "" then
return "[Fehler: (A) Keine Schriftart auf dieser Seite gefunden – ... fehlt.]"
end
-- Modulname zusammensetzen local modulname = "Überschriftung-" .. schriftart
-- Vorab prüfen, ob die Seite existiert
local modulTitel = mw.title.new("Modul:" .. modulname)
if not modulTitel or not modulTitel.exists then
return "[Fehler: (B1) Modulseite 'Modul:" .. modulname .. "' existiert nicht.]"
end
-- Tabelle laden
local status, tabelle = pcall(mw.loadData, "Modul:" .. modulname)
if not status or type(tabelle) ~= "table" then
return "[Fehler: (B2) Modul 'Modul:" .. modulname .. "' konnte nicht geladen werden.]"
end
-- Transkription: zeichenweise Ersetzung
local quelltext = title.text
local ergebnis = ""
for _, zeichen in utf8.codes(quelltext) do
local buchstabe = utf8.char(zeichen)
ergebnis = ergebnis .. (tabelle[buchstabe] or buchstabe)
end
return ergebnis
end
-- Debug-Funktion zur Anzeige der ermittelten Schriftart function p.zeigeSchriftart(frame)
local title = mw.title.getCurrentTitle()
local content = title:getContent() or ""
local schriftart = content:match("%[%[Schriftart::([%w%.%-_]+)%]%]")
if not schriftart or schriftart == "" then
return "[Fehler: (A) Keine Schriftart auf dieser Seite gefunden – ... fehlt.]"
end
return "Ermittelte Schriftart: " .. schriftart
end
return p