Module:Room features: Difference between revisions
Change fallback image to a questionmark, link image to the target page
No edit summary |
Im Wired In (talk | contribs) (Change fallback image to a questionmark, link image to the target page) |
||
(8 intermediate revisions by 4 users not shown) | |||
Line 11:
['Scenery'] = 'Scenery',
['Skill_node'] = 'Skill nodes'
}
local header_text_override = {
['Non-player characters'] = 'Personalities'
}
Line 17 ⟶ 21:
'[[Located in::' .. location .. ']]',
'?Location object#-',
'?Location object.Name=name_sub',
'?Location object.Image#-=image_sub',
'?Location object.Infobox=infobox_sub',
'?Location quantity',
'?#-',
'?Name=name',
'?Image#-=image',
'?Infobox=infobox'
}
return ret
Line 27 ⟶ 35:
function p._main(args)
local frame = mw.getCurrentFrame()
local ret =
local location = args[1] or mw.title.getCurrentTitle().fullText
local query = mw.smw.ask(base_query(location))
if query ~= nil then
Line 37 ⟶ 45:
end
for i,v in ipairs(query) do
local key = infobox_cat_map[v.
-- Can be nil - See East Beach for example
table.insert(results_by_type[key], v)▼
if key ~= nil then
▲ table.insert(results_by_type[key], v)
end
for cat,results in pairs(results_by_type) do
if #results > 0 then
table.insert(ret, tostring(mw.html.create('h3'):wikitext(header_text_override[cat] or cat)))
local
for i,v in ipairs(results) do
local image = v.
local quantity = ''
if v['Location quantity'] and (v['Location quantity'] ~= 'Unknown' and v['Location quantity'] ~= '1') then
quantity = string.format('%s × ', v['Location quantity'])
end
local version_name = ''
local version = string.match(obj_name, "[^#]+%#([^#]+)")
if version then
version_name = string.format(" <sub>''%s''</sub>", version)
end▼
local display_name = v.name_sub or v.name
table.insert(gallery_lines, string.format('%s|link=%s|%s[[%s|%s%s]]', image, obj_name, quantity, obj_name, display_name, version_name))
end
table.insert(ret, tostring(frame:extensionTag{ name = 'gallery', content = table.concat(gallery_lines, '\n'), args = {} }))
end
end
end
return
end
|