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
(Testing Lua functionality) |
(Remove # from image URL (thanks Style Crate #1!)) |
||
(10 intermediate revisions by 2 users 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 = "" | ||
-- 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 | for i, item in ipairs(items) do | ||
item = mw.text.trim(item) | item = mw.text.trim(item) | ||
result = result .. '<div class=" | -- 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 | 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