Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.
Version vom 24. April 2026, 21:03 Uhr von Admin (Diskussion | Beiträge) (Create navpills Lua module)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Die Dokumentation für dieses Modul kann unter Modul:Navpills/Doku erstellt werden

local p = {}

local function splitPills(args)
    local pills = {}
    local i = 1
    while args['label' .. i] or args['page' .. i] do
        table.insert(pills, {
            label = args['label' .. i] or args['page' .. i],
            page = args['page' .. i] or args['label' .. i],
            icon = args['icon' .. i]
        })
        i = i + 1
    end
    return pills
end

function p.render(frame)
    local args = frame:getParent().args
    local pills = splitPills(args)
    local out = {'<templatestyles src="Module:Navpills/styles.css" />', '<div class="onos-navpills">'}
    for _, pill in ipairs(pills) do
        local icon = ''
        if pill.icon and pill.icon ~= '' then
            icon = string.format('[[Datei:%s|24x24px|link=%s]]', pill.icon, pill.page)
        end
        table.insert(out, string.format('<div class="onos-navpills__pill">[[%s|%s<span class="onos-navpills__label">%s</span>]]</div>', pill.page, icon, pill.label))
    end
    table.insert(out, '</div>')
    return table.concat(out, '\n')
end

return p