Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.

Modul:Navpills: Unterschied zwischen den Versionen

Aus Onos Wiki
Point navpills module to Template namespace CSS
Fix TemplateStyles src path for navpills
 
Zeile 18: Zeile 18:
     local args = frame:getParent().args
     local args = frame:getParent().args
     local pills = splitPills(args)
     local pills = splitPills(args)
     local out = {'<templatestyles src="Template:Navpills/styles.css" />', '<div class="onos-navpills">'}
     local out = {'<templatestyles src="Navpills/styles.css" />', '<div class="onos-navpills">'}
     for _, pill in ipairs(pills) do
     for _, pill in ipairs(pills) do
         local icon = ''
         local icon = ''

Aktuelle Version vom 24. April 2026, 21:09 Uhr

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="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