Jump to content

Module:PageRef: Difference between revisions

From Deadlock Wiki
Sur (talk | contribs)
m if the icon doesn't exist at all, return blank from get_file_name
Sur (talk | contribs)
m Item added to no_file_list
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
local p = {}
local p = {}
local lang_module = require("Module:Lang")
local heroes_data = mw.loadJsonData("Data:HeroData.json")
local hero_keys = {}
for key, _ in pairs(heroes_data) do
    table.insert(hero_keys, key)
end
local heroes_data = nil --free memory


 
-- referred pages that should not use the icon file
local function is_hero(resource_name_localized)
-- only add to list if it should be true
for _, hero_key in ipairs(hero_keys) do
local no_file_list = {
if lang_module.get_string(hero_key) == resource_name_localized then
["Shopkeeper"] = true,
return true
["Newscaster"] = true,
end
["Parry"] = true,
end
["Objective"] = true,
return false
["Soul Urn"] = true,
end
["Other"] = true,
["Zipline"] = true,
["Sandbox"] = true,
["Flex Slot"] = true,
["Creep"] = true,
["Item"] = true,
}


-- Generates appropriate filename from resource_name_localized
-- Generates appropriate filename from resource_name_localized
Line 27: Line 26:
file_name = alt_file_name
file_name = alt_file_name
else
else
--Determine the filename to use
file_name = resource_name_localized
--Heroes use <hero_name>_MM.ext
--Items use <item_name>.ext
--Abilities use <ability_name>.ext
if is_hero(resource_name_localized) then
file_name = resource_name_localized .. "_MM"
--elseif is_item(resource_name_localized) then
--file_name = resource_name_localized .. ""
--elseif is_ability(resource_name_localized) then
--file_name = resource_name_localized .. ""
else
file_name = resource_name_localized
end
end
end
-- Prefix with File namespace
file_name = "File:" .. file_name
-- Try to grab SVG if possible
local should_use_file = no_file_list[file_name]
local svg_file_name = file_name .. ".svg"
if should_use_file then
local png_file_name = file_name .. ".png"
return ""
if mw.title.new(svg_file_name).exists then
file_name = svg_file_name
elseif mw.title.new(png_file_name).exists then
file_name = png_file_name
else
file_name = ""
end
end
-- Prefix with File namespace
file_name = "File:" .. file_name .. ".png"
return file_name
return file_name

Latest revision as of 20:54, 22 December 2024

Documentation for this module may be created at Module:PageRef/doc

local p = {}

-- referred pages that should not use the icon file
-- only add to list if it should be true
local no_file_list = {
	["Shopkeeper"] = true,
	["Newscaster"] = true,
	["Parry"] = true,
	["Objective"] = true,
	["Soul Urn"] = true,
	["Other"] = true,
	["Zipline"] = true,
	["Sandbox"] = true,
	["Flex Slot"] = true,
	["Creep"] = true,
	["Item"] = true,
}

-- Generates appropriate filename from resource_name_localized
p.get_file_name = function(frame)
	local resource_name_localized = frame.args[1]
	local alt_file_name = frame.args[2]
	
	--alt_file_name is optional; if not provided, assume resource_name_localized is correct
	if alt_file_name ~= nil and alt_file_name ~= '' then
		file_name = alt_file_name
	else
		file_name = resource_name_localized
	end
	
	local should_use_file = no_file_list[file_name]
	if should_use_file then
		return ""
	end
	
	-- Prefix with File namespace
	file_name = "File:" .. file_name .. ".png"
	
	return file_name
end

return p