Module:PageRef: Difference between revisions
Jump to navigation
Jump to search
m check if type is provided first |
m check if resource name is an english hero name |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local heroes_data = mw.loadJsonData("Data:HeroData.json") | |||
-- Generates appropriate filename from | local function is_hero(resource_name_en) | ||
p. | for hero_key, hero_data in pairs(heroes_data) do | ||
local | if hero_data["Name"] == resource_name_en then | ||
return true | |||
end | |||
end | |||
return false | |||
end | |||
-- Generates appropriate filename from resource_name_en | |||
p.get_file_name = function(frame) | |||
local resource_name_en = frame.args[1] | |||
-- Prefix with File namespace | -- Prefix with File namespace | ||
file_name = "File:" .. resource_name_en | |||
-- | --Determine the filename to use | ||
if ( | --Heroes use <hero_name>_MM.ext | ||
--Items use <item_name>.ext | |||
--Abilities use <ability_name>.ext | |||
if is_hero(resource_name_en) then | |||
file_name = file_name .. "_MM" | |||
--elseif is_item(resource_name_en) then | |||
--file_name = file_name .. "" | |||
--elseif is_ability(resource_name_en) then | |||
--file_name = file_name .. "" | |||
end | |||
-- Try to grab SVG if possible | -- Try to grab SVG if possible | ||
if mw.title.new( | local svg_file_name = file_name .. ".svg" | ||
if mw.title.new(svg_file_name).exists then | |||
file_name = svg_file_name | |||
else | else | ||
file_name = file_name .. ".png" | |||
end | end | ||
return | return file_name | ||
end | end | ||
return p | return p |
Revision as of 19:31, 20 October 2024
Documentation for this module may be created at Module:PageRef/doc
local p = {}
local heroes_data = mw.loadJsonData("Data:HeroData.json")
local function is_hero(resource_name_en)
for hero_key, hero_data in pairs(heroes_data) do
if hero_data["Name"] == resource_name_en then
return true
end
end
return false
end
-- Generates appropriate filename from resource_name_en
p.get_file_name = function(frame)
local resource_name_en = frame.args[1]
-- Prefix with File namespace
file_name = "File:" .. resource_name_en
--Determine the filename to use
--Heroes use <hero_name>_MM.ext
--Items use <item_name>.ext
--Abilities use <ability_name>.ext
if is_hero(resource_name_en) then
file_name = file_name .. "_MM"
--elseif is_item(resource_name_en) then
--file_name = file_name .. ""
--elseif is_ability(resource_name_en) then
--file_name = file_name .. ""
end
-- Try to grab SVG if possible
local svg_file_name = file_name .. ".svg"
if mw.title.new(svg_file_name).exists then
file_name = svg_file_name
else
file_name = file_name .. ".png"
end
return file_name
end
return p