Module:IconNav: Difference between revisions
From MENACE Official Wiki
m Protected "Module:IconNav" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) |
mNo edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 19: | Line 19: | ||
local rightImage = args['rightImage'] | local rightImage = args['rightImage'] | ||
-- | -- size parameters | ||
local iconSize = args['iconSize'] or '124px' | local iconSize = args['iconSize'] or '124px' | ||
local iconHeaderSize = args['iconHeaderSize'] or '15px' | local iconHeaderSize = args['iconHeaderSize'] or '15px' | ||
local tableWidth = args['width'] or '95%' | |||
-- Build icon row (no auto File:, no auto .png) | -- Build icon row (no auto File:, no auto .png) | ||
| Line 58: | Line 59: | ||
end | end | ||
result = result .. '{| class="gridBG" align="center" style="background-color:#; width: | result = result .. '{| class="gridBG" align="center" style="background-color:#; width: ' .. tableWidth .. '; height: 50px; border: 1px solid white; color: white; border-left: none; border-right: none; border-top: none;"\n' | ||
result = result .. '| class="hides hidem" style="font-size: 125%; text-align: center;" | <center><big>' .. headerLine .. '</big></center>\n' | result = result .. '| class="hides hidem" style="font-size: 125%; text-align: center;" | <center><big>' .. headerLine .. '</big></center>\n' | ||
result = result .. '|}\n' | result = result .. '|}\n' | ||
| Line 64: | Line 65: | ||
-- Lower table | -- Lower table | ||
result = result .. '<center>\n' | result = result .. '<div style="overflow-x:auto; width:100%;"><center>\n' | ||
result = result .. '{| style="width: | result = result .. '{| style="width: ' .. tableWidth .. '; text-align: center;"\n' | ||
result = result .. '|-\n' | result = result .. '|-\n' | ||
result = result .. '| style="height: 20px;" |\n' | result = result .. '| style="height: 20px;" |\n' | ||
| Line 73: | Line 74: | ||
result = result .. linkRow .. '\n' | result = result .. linkRow .. '\n' | ||
result = result .. '|}\n' | result = result .. '|}\n' | ||
result = result .. '</center>' | result = result .. '</center></div>' | ||
return result | return result | ||
Latest revision as of 15:38, 27 February 2026
Documentation for this module may be created at Module:IconNav/doc
local p = {}
function p.main(frame)
local args = frame:getParent().args
local icons = {}
local links = {}
-- Collect icon/link pairs
local i = 1
while args['icon' .. i] do
table.insert(icons, args['icon' .. i])
table.insert(links, args['link' .. i])
i = i + 1
end
-- Header parameters
local headerText = args['header']
local leftImage = args['leftImage']
local rightImage = args['rightImage']
-- size parameters
local iconSize = args['iconSize'] or '124px'
local iconHeaderSize = args['iconHeaderSize'] or '15px'
local tableWidth = args['width'] or '95%'
-- Build icon row (no auto File:, no auto .png)
local iconRow = '| '
for j, icon in ipairs(icons) do
if j > 1 then iconRow = iconRow .. ' || ' end
iconRow = iconRow .. '[[' .. icon .. '|link=' .. (links[j] or '') .. '|' .. iconSize .. ']]'
end
-- Build link row
local linkRow = '| '
for j, link in ipairs(links) do
if j > 1 then linkRow = linkRow .. ' || ' end
linkRow = linkRow .. '[[' .. link .. ']]'
end
local result = ''
-- Determine if header should be shown
local hasHeader =
(headerText and headerText ~= '') or
(leftImage and leftImage ~= '') or
(rightImage and rightImage ~= '')
if hasHeader then
local headerLine = ''
if leftImage and leftImage ~= '' then
headerLine = headerLine .. '[[' .. leftImage .. '|' .. iconHeaderSize .. '|link=]] '
end
if headerText and headerText ~= '' then
headerLine = headerLine .. "'''" .. headerText .. "'''"
end
if rightImage and rightImage ~= '' then
headerLine = headerLine .. ' [[' .. rightImage .. '|' .. iconHeaderSize .. '|link=]]'
end
result = result .. '{| class="gridBG" align="center" style="background-color:#; width: ' .. tableWidth .. '; height: 50px; border: 1px solid white; color: white; border-left: none; border-right: none; border-top: none;"\n'
result = result .. '| class="hides hidem" style="font-size: 125%; text-align: center;" | <center><big>' .. headerLine .. '</big></center>\n'
result = result .. '|}\n'
end
-- Lower table
result = result .. '<div style="overflow-x:auto; width:100%;"><center>\n'
result = result .. '{| style="width: ' .. tableWidth .. '; text-align: center;"\n'
result = result .. '|-\n'
result = result .. '| style="height: 20px;" |\n'
result = result .. '|-\n'
result = result .. iconRow .. '\n'
result = result .. '|-\n'
result = result .. linkRow .. '\n'
result = result .. '|}\n'
result = result .. '</center></div>'
return result
end
return p


