Modul:ADB
Die Dokumentation für dieses Modul kann unter Modul:ADB/Doku erstellt werden
function getAuthorName(kuerzel)
return mw.loadData("Modul:ADB/Autoren")[kuerzel]
end
local p = {}
function p.authorName(frame)
return getAuthorName(frame.args[1]) or frame.args[2] or frame.args[1]
end
function p.formatAuthor(frame)
local kuerzel = frame.args[1]
local name = getAuthorName(kuerzel)
if name == nil then
return kuerzel
end
kuerzel = kuerzel:gsub("%[.+%]", "")
local result = "[[" .. name .. "|"
-- Punkt in den Link einschließen?
local lastPart = kuerzel:match("(%S+)%.$")
if lastPart ~= nil and (mw.ustring.len(lastPart) >= mw.ustring.len(name:gsub(" %(.+%)", ""):match("%S+$")) or name:match(lastPart .. "%-")) then
result = result .. kuerzel:sub(1, -2) .. "]]."
else
result = result .. kuerzel .. "]]"
end
return result
end
function p.authorList(frame)
local list = ""
for i, kuerzel in pairs(frame.args) do
if kuerzel ~= "" then
if i > 1 then
list = list .. ", "
end
list = list .. (getAuthorName(kuerzel) or kuerzel)
end
end
return list
end
function p.listKuerzel(frame)
local data = mw.loadData("Modul:ADB/Autoren")
local list = ""
for kuerzel, name in pairs(data) do
if name == frame.args[1] then
list = list .. "* ''" .. kuerzel .. "''\n"
end
end
return list
end
return p