Difference between revisions of "Module:Silent1/sandbox"
Jump to navigation
Jump to search
m |
m |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local origArgs = {} | local origArgs = {} | ||
+ | local name | ||
+ | local width = 'auto' | ||
+ | local height = 'auto' | ||
+ | local add_word | ||
+ | local only_url | ||
+ | local no_link | ||
+ | local alt_link | ||
local data_module_names = { | local data_module_names = { | ||
Line 30: | Line 37: | ||
end | end | ||
− | function p. | + | local function _image() |
− | + | local id = p.findItemID(name) | |
+ | local item = p.loadData('item')[id] | ||
+ | local url = 'https://idlescape.com' .. item['itemImage'] | ||
+ | local rname = item['name'] | ||
+ | local s = url | ||
+ | |||
+ | if only_url then return s end | ||
+ | s = 'src="' .. s .. '"' | ||
+ | s = s .. ' alt="' .. rname .. '"' | ||
+ | s = s .. ' width="' .. width .. '"' | ||
+ | s = s .. ' height="' .. height .. '"' | ||
+ | s = '<img ' .. s .. '>' | ||
+ | |||
+ | if add_word then | ||
+ | s = s .. ' ' .. rname | ||
+ | end | ||
+ | if no_link then return s end | ||
+ | |||
+ | if link then link = rname end | ||
+ | s = '[[' .. link .. '|' .. s .. ']]' | ||
+ | |||
+ | return s | ||
end | end | ||
Line 42: | Line 70: | ||
origArgs = frame | origArgs = frame | ||
end | end | ||
+ | name = origArgs[1] | ||
+ | if origArgs[2] then width = origArgs[2] end | ||
+ | if origArgs[3] then height = origArgs[3] end | ||
+ | add_word = origArgs['word'] | ||
+ | only_url = origArgs['url'] | ||
+ | no_link = origArgs['nolink'] | ||
+ | link = origArgs['link'] | ||
− | + | return _image() | |
− | return | ||
end | end | ||
+ | |||
return p | return p |
Revision as of 11:48, 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 alt_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 function p.findItemID(name) local items = p.loadData('item') local lname = string.lower(name) local id = 0 for k,v in pairs(items) do if lname == string.lower(v['name']) then id = k return id end end return id end local function _image() local id = p.findItemID(name) local item = p.loadData('item')[id] local url = 'https://idlescape.com' .. item['itemImage'] local rname = item['name'] local s = url if only_url then return s end s = 'src="' .. s .. '"' s = s .. ' alt="' .. rname .. '"' s = s .. ' width="' .. width .. '"' s = s .. ' height="' .. height .. '"' s = '<img ' .. s .. '>' if add_word then s = s .. ' ' .. rname end if no_link then return s end if link then link = rname end s = '[[' .. link .. '|' .. s .. ']]' return s 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] if origArgs[2] then width = origArgs[2] end if origArgs[3] then height = origArgs[3] end add_word = origArgs['word'] only_url = origArgs['url'] no_link = origArgs['nolink'] link = origArgs['link'] return _image() end return p