Modul:Säsonger

Från Wikipedia

Dokumentation [visa] [redigera] [historik] [rensa sidcachen]


local s = {}

--
--Säsonger|årlig: Genererar en lista av länkar till någon årligen återkommande aktivitet.
--
--
--Parametrar
--==========
--startår    (obligatorisk): Första året i listan
--slutår                   : Sista året i listan (innevarande år används om inget anges)
--brutet                   : Sätt till 'ja' om säsongerna är höst/vår
--länkprefix               : Prefix som sätts framför årtalet i länken
--länksuffix               : Suffix som sätts efter årtalet i länken
--
--Exempel
--=======
--Anrop:    {{#invoke:Säsonger|årlig|startår=1991|slutår=1993|länkprefix=Superserien}}
--Resultat: [[Superserien 1991|1991]] · [[Superserien 1992|1992]] · [[Superserien 1993|1993]]
--
s["årlig"] = function (frame)
    local currentYear = os.date("*t").year
    local startar     = tonumber(frame.args["startår"])
    local slutar      = tonumber(frame.args["slutår"]) or currentYear
    local brutet      = frame.args["brutet"]
    local lankprefix  = frame.args["länkprefix"]
    local lanksuffix  = frame.args["länksuffix"]

    local text = ""

    for ar = startar, slutar do
        local arstrang

        if brutet == "ja" then
            arstrang = ar .. "/" .. (ar + 1)
        else
            arstrang = ar
        end

        local lank = arstrang

        if lankprefix ~= nil then
            lank = lankprefix .. " " .. lank
        end

        if lanksuffix ~= nil then
            lank = lank .. " " .. lanksuffix
        end

        text = text .. ("[[%s|%s]]"):format(lank, arstrang)

        if ar < slutar then
            text = text .. "&nbsp;<span style='font-weight:bold;'>·</span> "
        end
    end

    return text
end

return s