We are actively looking for staff to help us build the wiki. If you are interested please join our Discord server and apply.
Module:InfoboxModuleTest: Difference between revisions
Jump to navigation
Jump to search
(Remove the BR) |
(Remove # from image URL (thanks Style Crate #1!)) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
function p.displayFoundIn(frame) | function p.displayFoundIn(frame) | ||
-- Get the first argument passed to the module | |||
local foundIn = frame.args[1] | local foundIn = frame.args[1] | ||
-- Split the string into a table based on the comma delimiter | |||
local items = mw.text.split(foundIn, ',') | local items = mw.text.split(foundIn, ',') | ||
-- Initialize the result string | |||
local result = "" | local result = "" | ||
Line 10: | Line 13: | ||
if #items == 0 then | if #items == 0 then | ||
items = {"Nothing"} | items = {"Nothing"} | ||
end | |||
-- if the item is wrapped in brackets, remove them | |||
for i, item in ipairs(items) do | |||
items[i] = item:gsub("%[", ""):gsub("%]", "") | |||
end | end | ||
Line 22: | Line 30: | ||
imageName = "X" | imageName = "X" | ||
end | end | ||
local link_name = item | |||
if item ~= "Nothing" then | |||
link_name = "[[" .. item .. "]]" | |||
end | |||
-- remove every # from the iamge name | |||
imageName = imageName:gsub("#", "") | |||
-- Open the div element | -- Open the div element | ||
result = result .. '<div class="item_source" style="display: flex; gap: 5px;">' | result = result .. '<div class="item_source" style="display: flex; gap: 5px;">' | ||
-- Add the image and item name to the div element | -- Add the image and item name to the div element | ||
result = result .. '[[File:' .. imageName .. '.png|24px|link=]] | result = result .. '[[File:' .. imageName .. '.png|24px|link=]]' .. link_name | ||
-- Close the div element | -- Close the div element | ||
result = result .. '</div>\n' | result = result .. '</div>\n' | ||
end | end | ||
Latest revision as of 06:23, 4 July 2024
Documentation for this module may be created at Module:InfoboxModuleTest/doc
-- Module:InfoboxTestModule local p = {} function p.displayFoundIn(frame) -- Get the first argument passed to the module local foundIn = frame.args[1] -- Split the string into a table based on the comma delimiter local items = mw.text.split(foundIn, ',') -- Initialize the result string local result = "" -- If no items are found, add "Nothing" to the list if #items == 0 then items = {"Nothing"} end -- if the item is wrapped in brackets, remove them for i, item in ipairs(items) do items[i] = item:gsub("%[", ""):gsub("%]", "") end -- Iterate over the items and create a div element for each for i, item in ipairs(items) do item = mw.text.trim(item) -- Create a version of the item name that can be used as an image name local imageName = string.gsub(item, " ", "_") -- If the item is "Nothing", use the X image if item == "Nothing" then imageName = "X" end local link_name = item if item ~= "Nothing" then link_name = "[[" .. item .. "]]" end -- remove every # from the iamge name imageName = imageName:gsub("#", "") -- Open the div element result = result .. '<div class="item_source" style="display: flex; gap: 5px;">' -- Add the image and item name to the div element result = result .. '[[File:' .. imageName .. '.png|24px|link=]]' .. link_name -- Close the div element result = result .. '</div>\n' end return result end return p