Module:Room features: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
m (Add null check for table insert)
(Use h3 tag instead of === to try to prevent broken "edit section" link)
Line 35: Line 35:
function p._main(args)
function p._main(args)
local frame = mw.getCurrentFrame()
local frame = mw.getCurrentFrame()
local ret = ''
local ret = {}
local location = args[1] or mw.title.getCurrentTitle().fullText
local location = args[1] or mw.title.getCurrentTitle().fullText


Line 53: Line 53:
for cat,results in pairs(results_by_type) do
for cat,results in pairs(results_by_type) do
if #results > 0 then
if #results > 0 then
ret = ret .. '===' .. (header_text_override[cat] or cat) .. '===\n'
table.insert(ret, tostring(mw.html.create('h3'):wikitext(header_text_override[cat] or cat)))

local gallery = '<gallery>\n'
local gallery_lines = {}
for i,v in ipairs(results) do
for i,v in ipairs(results) do
local image = v.image_sub or v.image or 'File:Section anchor light.svg'
local image = v.image_sub or v.image or 'File:Section anchor light.svg'
Line 69: Line 69:
end
end
local display_name = v.name_sub or v.name
local display_name = v.name_sub or v.name
gallery = gallery .. string.format('%s|%s[[%s|%s%s]]\n', image, quantity, obj_name, display_name, version_name)
table.insert(gallery_lines, string.format('%s|%s[[%s|%s%s]]', image, quantity, obj_name, display_name, version_name))
end
end

gallery = gallery .. '</gallery>\n\n'
table.insert(ret, tostring(frame:extensionTag{ name = 'gallery', content = table.concat(gallery_lines, '\n'), args = {} }))
ret = ret .. gallery
end
end
end
end
end
end
return frame:preprocess(ret)
return table.concat(ret, '')
end
end