Funktionen sind selbsterklärend und ergeben sich aus der Dokumentation.



--[=[ ARLHSlist Version 2.2, 2021-10-21
	Ausgabe einen Links, Aufruf des HTML-Eintrags für ARLHS
--]=]

local p = {}
local function tu(a, z) -- Wandelt in Versialen und gibt Anfangsbuchstabe/n zurück
    return string.sub(string.upper(a or ""), 1, z or 1)
end

function p.list(frame)
    local zone, number
    local title = " "
    local frame = frame:getParent()
    for key, val in pairs(frame.args) do -- Parameter sammeln und  zuordnen
        if key == 1 then
            if val then
                val = tu(val, -1)
                zone, number = val:match("([A-Z]+)[%D%W%s]*(%d*)")
            end
        elseif key == 2 or tu(key) == "L" then
            if val then -- Link mit 'Vorwort'
                title = " ARLHS: "
            end
        end --  key == 2
    end -- for key, val
    --jetzt zusammenbasteln
    if not zone and not number then -- Link auf Hauptseite
        return "[http://wlol.arlhs.com/index.php ARLHS]"
    elseif zone and  #number < 1 then
        return "[http://wlol.arlhs.com/index.php?mode=zones&zone=" .. zone .. title .. zone .. "]"
    else
        return "[http://wlol.arlhs.com/lighthouse/" ..
            zone .. number .. ".html " .. title .. zone .. "-" .. number .. "]"
    end
end
return p