Module:Item: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local fileModule = require("Module:FileExists") | |||
local function capitalizeFirstLetter(input) | |||
local firstLetter = input:sub(1, 1) | |||
local restOfString = input:sub(2) | |||
return firstLetter:upper() .. restOfString:lower() | |||
end | |||
local function removeMinecraftPrefix(text) | |||
if text:sub(1, 10) == "minecraft:" then | |||
return text:sub(11) | |||
else | |||
return text | |||
end | |||
end | |||
local function formatItemName(itemNames) | |||
local formattedNames = {} | |||
for itemName in string.gmatch(itemNames, "[^%s,/&]+") do | |||
local _, _, mod, name = string.find(itemName, "([^:]+):([^:]+)") | |||
if not mod then | |||
name = itemName | |||
else | |||
name = string.gsub(name, "_", " ") | |||
name = name:gsub("^%l", string.upper) | |||
end | |||
if fileModule.fileExists("File:"..string.lower(name)..".png") then | |||
name = "[[File:"..string.lower(name)..".png|20px]] "..capitalizeFirstLetter(name) | |||
end | |||
table.insert(formattedNames, name) | |||
end | |||
return table.concat(formattedNames, " & ") | |||
end | |||
function p.getItemNameAndIMG( frame ) | function p.getItemNameAndIMG( frame ) | ||
return " | local arg = frame.args[1] | ||
local text = formatItemName(string.lower(arg)) | |||
--local fileExists = fileModule.fileExists("File:"..string.lower(text)..".png") | |||
--if fileExists then | |||
-- return "[[File:"..string.lower(text)..".png|20px]] "..capitalizeFirstLetter(text) | |||
--end | |||
return text | |||
end | end | ||
return p |
Latest revision as of 13:48, 22 October 2023
Documentation for this module may be created at Module:Item/doc
local p = {}
local fileModule = require("Module:FileExists")
local function capitalizeFirstLetter(input)
local firstLetter = input:sub(1, 1)
local restOfString = input:sub(2)
return firstLetter:upper() .. restOfString:lower()
end
local function removeMinecraftPrefix(text)
if text:sub(1, 10) == "minecraft:" then
return text:sub(11)
else
return text
end
end
local function formatItemName(itemNames)
local formattedNames = {}
for itemName in string.gmatch(itemNames, "[^%s,/&]+") do
local _, _, mod, name = string.find(itemName, "([^:]+):([^:]+)")
if not mod then
name = itemName
else
name = string.gsub(name, "_", " ")
name = name:gsub("^%l", string.upper)
end
if fileModule.fileExists("File:"..string.lower(name)..".png") then
name = "[[File:"..string.lower(name)..".png|20px]] "..capitalizeFirstLetter(name)
end
table.insert(formattedNames, name)
end
return table.concat(formattedNames, " & ")
end
function p.getItemNameAndIMG( frame )
local arg = frame.args[1]
local text = formatItemName(string.lower(arg))
--local fileExists = fileModule.fileExists("File:"..string.lower(text)..".png")
--if fileExists then
-- return "[[File:"..string.lower(text)..".png|20px]] "..capitalizeFirstLetter(text)
--end
return text
end
return p