Module:Module sandbox: Difference between revisions
Content deleted Content added
Line 4: | Line 4: | ||
local args = frame:getParent().args |
local args = frame:getParent().args |
||
local output = '{| class="infobox biography vcard" style="width: 22em;"\n' |
local output = '{| class="infobox biography vcard" style="width: 22em;"\n' |
||
local descriptions = {} |
|||
local newParameters = {} |
|||
local firstDescriptionFound = false |
local firstDescriptionFound = false |
||
for key, value in pairs(args) do |
for key, value in pairs(args) do |
||
if |
if key:sub(1, 11) == 'description' then |
||
if value ~= "" then |
if value ~= "" then |
||
⚫ | |||
⚫ | |||
table.insert(descriptions, value) |
|||
firstDescriptionFound = true |
|||
⚫ | |||
⚫ | |||
⚫ | |||
end |
end |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
end |
end |
||
end |
end |
||
for _, description in ipairs(descriptions) do |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
end |
end |
||
for _, parameter in ipairs(newParameters) do |
|||
⚫ | |||
output = output .. parameter |
|||
if key:sub(1, 11) == 'description' and key ~= 'description' and key ~= 'descriptionbgcolor' and key ~= 'descriptioncolor' then |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
for key, value in pairs(args) do |
|||
if key ~= 'image' and key ~= 'imagecaption' and key ~= 'imgc' and key ~= 'imagesize' then |
|||
if key:sub(1, 11) ~= 'description' then |
|||
⚫ | |||
⚫ | |||
end |
|||
end |
|||
end |
end |
||
Revision as of 13:21, 14 April 2024
Welcome to Module:Module sandbox, a Wikipedia module sandbox. This page is itself a module, and it allows you to carry out experiments related to module editing. If you wish to experiment with article editing, use the Wikipedia Sandbox or your own user sandbox.
To edit, click the edit tab above, make your changes and click the Publish changes button when finished. Please do not place malicious Lua code here, or copyrighted, offensive, illegal or libelous content in the sandboxes. For assistance with Lua coding, try the technical forum at the Village Pump. There are also several template sandboxes you can use to carry out experiments:
You can also conduct tests using the Wikipedia Sandbox. For instance, to invoke this module there, edit it so that it includes: {{#invoke:Module sandbox}} |
More info
Sandbox games |
Usage
{{#invoke:Module sandbox|function_name}}
local p = {}
function p.infobox(frame)
local args = frame:getParent().args
local output = '{| class="infobox biography vcard" style="width: 22em;"\n'
local descriptions = {}
local newParameters = {}
local firstDescriptionFound = false
for key, value in pairs(args) do
if key:sub(1, 11) == 'description' then
if value ~= "" then
if not firstDescriptionFound then
table.insert(descriptions, value)
firstDescriptionFound = true
else
table.insert(newParameters, '| style="text-align: center; background-color: ' .. (args.descriptionbgcolor or "#f2f2f2") .. '; color: ' .. (args.descriptioncolor or "inherit") .. '; font-weight: bold;" | ' .. value .. '\n|-\n')
end
end
elseif key == 'image' then
if value ~= "" then
local imgc = args.imgc or ""
local imagesize = args.imagesize or ""
output = output .. '|' ..'<div style="text-align:center;">'.. value .. '</div>'..'<small style="display: block; text-align: center;">' .. imgc .. '</small>\n|-\n'
end
else
table.insert(newParameters, '| <b>' .. key .. '</b>\n| ' .. value .. '\n|-\n')
end
end
for _, description in ipairs(descriptions) do
output = output .. '| style="text-align: center; background-color: ' .. (args.descriptionbgcolor or "#f2f2f2") .. '; color: ' .. (args.descriptioncolor or "inherit") .. '; font-weight: bold;" | ' .. description .. '\n|-\n'
end
for _, parameter in ipairs(newParameters) do
output = output .. parameter
end
output = output .. '|}\n'
return output
end
return p