Module:SMART attributes: Difference between revisions
From Computing Classics Wiki
Add uppercase check |
Add test output |
||
| Line 9: | Line 9: | ||
table = table .. "!width=17%|'''ID'''" | table = table .. "!width=17%|'''ID'''" | ||
table = table .. "!width=17%|'''Name'''" | table = table .. "!width=17%|'''Name'''" | ||
-- Test value | |||
table = table .. "|-" | |||
table = table .. "|" .. "Foobar" | |||
table = table .. "|" .. "Bar" | |||
for i=1, 254, 1 do | for i=1, 254, 1 do | ||
argName = "" | argName = "" | ||
| Line 23: | Line 28: | ||
if (argName ~= "") then | if (argName ~= "") then | ||
table = table .. "|-" | table = table .. "|-" | ||
table = table .. "|" .. "0x" .. string.format("%x", i) .. tostring(i) | table = table .. "|" .. "0x" .. string.format("%x", i) .. "/" .. tostring(i) | ||
table = table .. "|" .. frame.args(argName) | table = table .. "|" .. frame.args(argName) | ||
end | end | ||
Revision as of 11:37, 3 March 2021
Documentation for this module may be created at Module:SMART attributes/doc
-- Implements Template:SMART attributes.
local p = {}
function p.makeSmartAttrTable()
frame = mw.getCurrentFrame()
-- Start table
table = ""
table = table .. "{|cellspacing=\"0\" cellpadding=\"4\" border=\"1\" style=\"margin: 0 0 1em 1em; border: 1px #171717 solid; border-collapse: collapse; font-size: 90%;\" class=\"wikitable\""
table = table .. "!width=17%|'''ID'''"
table = table .. "!width=17%|'''Name'''"
-- Test value
table = table .. "|-"
table = table .. "|" .. "Foobar"
table = table .. "|" .. "Bar"
for i=1, 254, 1 do
argName = ""
if (frame.args[string.format("%x", i)] ~= nil) then
argName = string.format("%x", i)
elseif (frame.args[i] ~= nil) then
argName = i
elseif (frame.args["0x" .. string.format("%x", i)] ~= nil) then
argName = "0x" .. string.format("%x", i)
elseif (frame.args["0x" .. string.upper(string.format("%x", i))] ~= nil) then
argName = "0x" .. string.format("%x", i)
end
if (argName ~= "") then
table = table .. "|-"
table = table .. "|" .. "0x" .. string.format("%x", i) .. "/" .. tostring(i)
table = table .. "|" .. frame.args(argName)
end
end
table = table .. "|}"
return table
end
return p