Difference between revisions of "Module:Silent1/sandbox"
Jump to navigation
Jump to search
m |
m |
||
| Line 21: | Line 21: | ||
return loaded_data_modules[module_name] | return loaded_data_modules[module_name] | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
end | end | ||
local function _image() | local function _image() | ||
| − | local | + | name = string.lower(name) |
| + | local item = p.loadData('item')[name] | ||
local s = '' | local s = '' | ||
local rs = nil | local rs = nil | ||
| − | if | + | if not item then |
| − | + | local url = item['image'] | |
| − | local url = item[' | ||
| − | |||
local rname = item['name'] | local rname = item['name'] | ||
| − | |||
if url:sub(1,1) ~= '/' then url = '/' .. url end | if url:sub(1,1) ~= '/' then url = '/' .. url end | ||
url = 'https://idlescape.com' .. url | url = 'https://idlescape.com' .. url | ||
Revision as of 14:13, 14 February 2022
local p = {}
local origArgs = {}
local name
local width = 'auto'
local height = 'auto'
local add_word
local only_url
local no_link
local link
local data_module_names = {
item = 'Module:Silent1/sandbox/data'
}
local loaded_data_modules = {}
function p.loadData (data_type)
local module_name = data_module_names[data_type]
if loaded_data_modules[module_name] == nil then
loaded_data_modules[module_name] = mw.loadData(module_name)
end
return loaded_data_modules[module_name]
end
local function _image()
name = string.lower(name)
local item = p.loadData('item')[name]
local s = ''
local rs = nil
if not item then
local url = item['image']
local rname = item['name']
if url:sub(1,1) ~= '/' then url = '/' .. url end
url = 'https://idlescape.com' .. url
s = url
if only_url == '1' then rs = s end
s = 'src="' .. s .. '"'
s = s .. ' alt="' .. rname .. '"'
s = s .. ' width="' .. width .. '"'
s = s .. ' height="' .. height .. '"'
s = '<img ' .. s .. '>'
if add_word == '1' then
s = s .. ' ' .. rname
end
if no_link == '1' then rs = s end
if not (link and link:match('%S')) then link = rname end
s = '[[' .. link .. '|' .. s .. ']]'
else
s = '[[' .. name .. ']]' .. '{{?}}'
end
if not rs then rs = s end
return rs
end
-- If called via #invoke, use the args passed into the invoking template.
-- Otherwise, for testing purposes, assume args are being passed directly in.
function p.image(frame)
if frame == mw.getCurrentFrame() then
origArgs = frame:getParent().args
else
origArgs = frame
end
name = origArgs[1]
arg = origArgs[2]
if not arg then
width = 20
else arg:match('%S')
width = arg
end
arg = origArgs[3]
if arg and arg:match('%S') then height = arg end
add_word = origArgs['word']
only_url = origArgs['url']
no_link = origArgs['nolink']
link = origArgs['link']
if not name then return '' end
return _image()
end
return p