Module:Operators: Difference between revisions
From Aeronautica Official Wiki
More actions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
function p.render(frame) | function p.render(frame) | ||
-- look at the *template* args, not the invoke args | |||
local args = frame:getParent().args | local args = frame:getParent().args | ||
local rows = {} | local rows = {} | ||
Line 12: | Line 13: | ||
rows[#rows+1] = '! style="background:#1b1b1b" | Airline' | rows[#rows+1] = '! style="background:#1b1b1b" | Airline' | ||
rows[#rows+1] = '! style="background:#1b1b1b" | Image' | rows[#rows+1] = '! style="background:#1b1b1b" | Image' | ||
-- … | -- … your other headers … | ||
-- loop through | -- loop through rows | ||
for i = 1, 50 do | for i = 1, 50 do | ||
local name = args['AirlineName' .. i] | local name = args['AirlineName' .. i] | ||
if not (name and name:match('%S')) then | if not (name and name:match('%S')) then break end | ||
-- prepare the image cell, force 200px | |||
local raw = args['Image' .. i] or '' | |||
local imgCell | |||
if raw:match('%[%[File:') then | |||
-- strip out any existing "|###px" then re-insert "|200px" | |||
local noSize = raw:gsub('|%d+px', '') | |||
imgCell = noSize:gsub('%[%[File:(.-)%]%]', '[[File:%1|200px]]') | |||
else | |||
-- assume they just passed a filename like "MyPic.png" | |||
imgCell = '[[File:' .. raw .. '|200px]]' | |||
end | end | ||
rows[#rows+1] = '|-' | rows[#rows+1] = '|-' | ||
rows[#rows+1] = ("| '''%s'''"):format(name) | rows[#rows+1] = ("| '''%s'''"):format(name) | ||
rows[#rows+1] = ("| %s"):format( | rows[#rows+1] = ("| %s"):format(imgCell) | ||
rows[#rows+1] = ("| %s"):format(args['Type' .. i] or '') | rows[#rows+1] = ("| %s"):format(args['Type' .. i] or '') | ||
rows[#rows+1] = ("| %s"):format(args['Price' .. i] or '') | rows[#rows+1] = ("| %s"):format(args['Price' .. i] or '') | ||
rows[#rows+1] = ("| %s"):format(args['Logo' .. i] or '') | rows[#rows+1] = ("| %s"):format(args['Logo' .. i] or '') | ||
rows[#rows+1] = ("| %s"):format(args['Description' .. i] or '') | rows[#rows+1] = ("| %s"):format(args['Description' .. i] or '') | ||
rows[#rows+1] = ("| %s"):format(args['SpecialLivery' .. i] or '') | rows[#rows+1] = ("| %s"):format(args['SpecialLivery' .. i] or '') | ||
rows[#rows+1] = ("| colspan=\"3\" | %s"):format(args['YearsofService' .. i] or '') | rows[#rows+1] = ("| colspan=\"3\" | %s"):format(args['YearsofService' .. i] or '') |
Revision as of 12:01, 27 April 2025
Documentation for this module may be created at Module:Operators/doc
-- Module:Operators
local p = {}
function p.render(frame)
-- look at the *template* args, not the invoke args
local args = frame:getParent().args
local rows = {}
-- table start + headers
rows[#rows+1] = '{| class="article-table" style="font-size:75%;text-align:center"'
rows[#rows+1] = '! colspan="11" style="text-align:center; background-color:#879fcb; color:black; font-size:130%; padding:1.3em"|Current Lore Operators'
rows[#rows+1] = '|-'
rows[#rows+1] = '! style="background:#1b1b1b" | Airline'
rows[#rows+1] = '! style="background:#1b1b1b" | Image'
-- … your other headers …
-- loop through rows
for i = 1, 50 do
local name = args['AirlineName' .. i]
if not (name and name:match('%S')) then break end
-- prepare the image cell, force 200px
local raw = args['Image' .. i] or ''
local imgCell
if raw:match('%[%[File:') then
-- strip out any existing "|###px" then re-insert "|200px"
local noSize = raw:gsub('|%d+px', '')
imgCell = noSize:gsub('%[%[File:(.-)%]%]', '[[File:%1|200px]]')
else
-- assume they just passed a filename like "MyPic.png"
imgCell = '[[File:' .. raw .. '|200px]]'
end
rows[#rows+1] = '|-'
rows[#rows+1] = ("| '''%s'''"):format(name)
rows[#rows+1] = ("| %s"):format(imgCell)
rows[#rows+1] = ("| %s"):format(args['Type' .. i] or '')
rows[#rows+1] = ("| %s"):format(args['Price' .. i] or '')
rows[#rows+1] = ("| %s"):format(args['Logo' .. i] or '')
rows[#rows+1] = ("| %s"):format(args['Description' .. i] or '')
rows[#rows+1] = ("| %s"):format(args['SpecialLivery' .. i] or '')
rows[#rows+1] = ("| colspan=\"3\" | %s"):format(args['YearsofService' .. i] or '')
end
rows[#rows+1] = '|}'
return table.concat(rows, '\n')
end
return p