Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 65: | Zeile 65: | ||
return input | return input | ||
:gsub("[ | :gsub("[%c]", "") -- Entfernt Steuerzeichen | ||
:gsub("[%p | :gsub("[%p&&[^:/]]", "") -- Entfernt Satzzeichen außer ":" und "/" | ||
:gsub("%s+", " ") -- Reduziert mehrfache Leerzeichen auf eins | :gsub("%s+", " ") -- Reduziert mehrfache Leerzeichen auf eins | ||
:gsub("^%s*(.-)%s*$", "%1") -- Entfernt führende und abschließende Leerzeichen | :gsub("^%s*(.-)%s*$", "%1") -- Entfernt führende und abschließende Leerzeichen | ||
:gsub("[:/]", "-") -- Ersetzt ":" und "/" durch "-" | |||
end | end | ||
return helper | return helper |
Version vom 2. Dezember 2024, 21:02 Uhr
Die Dokumentation für dieses Modul kann unter Modul:LPON/Helper/Doku erstellt werden
local helper = {}
local getArgs = require('Module:Arguments').getArgs
-- Funktion zur Anpassung des DISPLAYTITLE über mw.ext.displaytitle
function helper.setDisplayTitle(frame)
local args = getArgs(frame)
local title = args["title"]
if title and title ~= "" then
local success, err = pcall(function()
mw.ext.displaytitle.set(title)
end)
if not success then
mw.log("Fehler beim Setzen des DISPLAYTITLE: " .. tostring(err))
end
end
end
-- set with return results
function helper.setProperty( frame )
if not mw.smw then
return "mw.smw module not found"
end
local result = mw.smw.set( frame.args )
if result == true then
return
else
return 'An error occurred during the storage process. Message reads ' .. result.error
end
end
-- Funktion zur Hinzufügung von Kategorien mit Sortkey
function helper.addCategories(frame)
-- Argumente aus dem Frame extrahieren
local args = getArgs(frame)
-- Kategorienliste und Sortkey abrufen
local categories = args["categories"] or {}
local sortkey = args["sortkey"] or mw.title.getCurrentTitle().text -- Standard: Seitentitel als Sortkey
-- Validierung der Kategorienliste
if type(categories) == "string" then
categories = mw.text.split(categories, ",") -- Kategorien können als kommaseparierte Liste übergeben werden
end
if type(categories) ~= "table" then
return "Ungültige Kategorienliste."
end
-- Kategorienausgabe generieren
local output = ""
for _, category in ipairs(categories) do
if category and category ~= "" then
output = output .. "[[Kategorie:" .. category .. "|" .. sortkey .. "]]\n"
end
end
return output
end
function helper.cleanString(input)
if not input or input == "" then
return ""
end
return input
:gsub("[%c]", "") -- Entfernt Steuerzeichen
:gsub("[%p&&[^:/]]", "") -- Entfernt Satzzeichen außer ":" und "/"
:gsub("%s+", " ") -- Reduziert mehrfache Leerzeichen auf eins
:gsub("^%s*(.-)%s*$", "%1") -- Entfernt führende und abschließende Leerzeichen
:gsub("[:/]", "-") -- Ersetzt ":" und "/" durch "-"
end
return helper