Elite Dangerous Wiki
Register
Advertisement

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

local Infobox = {}
local HF = require('Module:HF')

function Infobox.trimTable ( trimTable )
    output = {}
    for i, value in ipairs(trimTable) do
        output[i] = HF.trim(value)
    end
    return output
end

function Infobox.MainImage( field, vars )
    local output = field.Value
    if not HF.isempty(output) then
        output = '[[File:' .. output .. '|306px]]'
        return output
    end
end

function Infobox.Ships( field, vars )
    local output = ''
    if not HF.isempty(field.Value) then
        local ships = HF.explode(';', field.Value)

        ships = Infobox.trimTable(ships)
        table.sort(ships)

        for i, ship in ipairs(ships) do
            output = output .. HF.trim(ship) .. '<br />'
        end
        
        if string.sub(output, -6) == '<br />' then
            output = string.sub( output, 1, -7 )
        end
        
        return output
    end
end

function Infobox.Upgrades( field, vars )
    local output = ''
    if not HF.isempty(field.Value) then
        local upgrades = HF.explode(';', field.Value)

        upgrades = Infobox.trimTable(upgrades)
        table.sort(upgrades)

        for i, upgrade in ipairs(upgrades) do
            output = output ..  HF.trim(upgrade) .. '<br />'
        end
        
        if string.sub(output, -6) == '<br />' then
            output = string.sub( output, 1, -7 )
        end
        
        return output
    end
end

return Infobox
Advertisement