(Die Seite wurde neu angelegt: „local modOutput = {} local helper = require('Module:LPON/Helper') -- Funktion zur Ausgabe der Mods innerhalb einer Projektseite oder Modseite function modOutput.inside(cleanProjektname) if not mw.smw then return "Semantic MediaWiki-Erweiterung nicht gefunden." end -- Sicherstellen, dass der bereinigte Projektname angegeben wurde if not cleanProjektname or cleanProjektname == "" then return "Kein Projekt angegeben." en…“) |
Keine Bearbeitungszusammenfassung |
||
Zeile 33: | Zeile 33: | ||
-- Mod-Informationen extrahieren | -- Mod-Informationen extrahieren | ||
local modName = result.printouts["LPON:Modname"] and result.printouts["LPON:Modname"][1] or "Unbekannt" | local modName = result.printouts["LPON:Modname"] and result.printouts["LPON:Modname"][1] or "Unbekannt" | ||
local description = result.printouts["LPON: | local description = result.printouts["LPON:Description"] and result.printouts["LPON:Description"][1] or "Keine Beschreibung verfügbar" | ||
local downloadURL = result.printouts["LPON:Download-URL"] and result.printouts["LPON:Download-URL"][1] | local downloadURL = result.printouts["LPON:Download-URL"] and result.printouts["LPON:Download-URL"][1] | ||
local downloadSource = result.printouts["LPON:Download-Quelle"] and result.printouts["LPON:Download-Quelle"][1] or "Unbekannt" | local downloadSource = result.printouts["LPON:Download-Quelle"] and result.printouts["LPON:Download-Quelle"][1] or "Unbekannt" | ||
Zeile 39: | Zeile 39: | ||
-- Download-Link erstellen | -- Download-Link erstellen | ||
local downloadLink = downloadURL and (' | local downloadLink = downloadURL and ('[' .. downloadURL .. ' ' .. downloadSource .. ']') or "PRIVAT" | ||
-- Mod zur entsprechenden Kategorie hinzufügen | -- Mod zur entsprechenden Kategorie hinzufügen |
Version vom 3. Dezember 2024, 20:07 Uhr
Die Dokumentation für dieses Modul kann unter Modul:LPON/ModOutput/Doku erstellt werden
local modOutput = {}
local helper = require('Module:LPON/Helper')
-- Funktion zur Ausgabe der Mods innerhalb einer Projektseite oder Modseite
function modOutput.inside(cleanProjektname)
if not mw.smw then
return "Semantic MediaWiki-Erweiterung nicht gefunden."
end
-- Sicherstellen, dass der bereinigte Projektname angegeben wurde
if not cleanProjektname or cleanProjektname == "" then
return "Kein Projekt angegeben."
end
-- Abfrage-String erstellen
local query = string.format(
"[[LPON:Projekt::%s]]|?LPON:Modname|?LPON:Beschreibung|?LPON:Download-URL|?LPON:Download-Quelle|?LPON:Mod-Kategorie",
cleanProjektname
)
-- Abfrage ausführen
local queryResult = mw.smw.getQueryResult(query)
-- Kein Ergebnis gefunden
if not queryResult or not queryResult.results then
return "Keine Mods für dieses Projekt gefunden."
end
-- Kategorien sammeln
local categorizedMods = {}
for _, result in ipairs(queryResult.results) do
-- Mod-Informationen extrahieren
local modName = result.printouts["LPON:Modname"] and result.printouts["LPON:Modname"][1] or "Unbekannt"
local description = result.printouts["LPON:Description"] and result.printouts["LPON:Description"][1] or "Keine Beschreibung verfügbar"
local downloadURL = result.printouts["LPON:Download-URL"] and result.printouts["LPON:Download-URL"][1]
local downloadSource = result.printouts["LPON:Download-Quelle"] and result.printouts["LPON:Download-Quelle"][1] or "Unbekannt"
local category = result.printouts["LPON:Mod-Kategorie"] and result.printouts["LPON:Mod-Kategorie"][1] or "Allgemein"
-- Download-Link erstellen
local downloadLink = downloadURL and ('[' .. downloadURL .. ' ' .. downloadSource .. ']') or "PRIVAT"
-- Mod zur entsprechenden Kategorie hinzufügen
if not categorizedMods[category] then
categorizedMods[category] = {}
end
table.insert(categorizedMods[category], '<li><b>' .. modName .. '</b> - ' .. description .. ' - ' .. downloadLink .. '</li>')
end
-- Ausgabe generieren
local output = '<div class="lpon-mods">'
for category, mods in pairs(categorizedMods) do
output = output .. '<p><b>' .. category .. ':</b></p>\n'
output = output .. '<ul>' .. table.concat(mods, "\n") .. '</ul>\n'
end
output = output .. '</div>'
return output
end
return modOutput