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
m (Rename module) |
(Remove # from image URL (thanks Style Crate #1!)) |
||
| (9 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
-- Module: | -- Module:InfoboxTestModule | ||
local p = {} | local p = {} | ||
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 05: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