Jump to content

Module:Sprite

From Apogea Wiki
Revision as of 06:58, 22 January 2026 by Dane (talk | contribs) (Add optional class parameter for pageimage support (via update-page on MediaWiki MCP Server))

Documentation for this module may be created at Module:Sprite/doc

local p = {}

function p.getHighestStack(frame)
    local name = frame.args[1]
    if not name then return '' end
    
    for i = 20, 1, -1 do
        local file = mw.title.new('File:' .. name .. i .. '.png')
        if file and file.exists then
            return tostring(i)
        end
    end
    return ''
end

function p.render(frame)
    local name = frame.args[1]
    local size = frame.args[2] or frame.args.size or '32'
    local class = frame.args.class or ''
    if not name then return '' end
    
    local suffix = p.getHighestStack(frame)
    local filename = name .. suffix .. '.png'
    
    local classAttr = ''
    if class ~= '' then
        classAttr = '|class=' .. class
    end
    
    return string.format(
        '<span class="pixel-sprite">[[File:%s|%spx|link=|alt=%s%s]]</span>',
        filename, size, name, classAttr
    )
end

return p