Module:Portal: Difference between revisions

Content deleted Content added
add support for portal demo function
fix mobile layout: make small-screen adaptive
Line 175:
:attr('aria-label', 'Portals')
:addClass('noprint')
:addClass(args.error and '' or sandboxVersion('portalbox'))
:addClass(args.border and sandboxVersion('portalborder') or '')
:addClass(sandboxVersion(args.left and 'tleftportalleft' or 'trightportalright'))
:css('margin', args.margin or nil)
:newline()
end
 
local function fillBox(root, contents)
for _, item in ipairs(contents) do
local entry = root:tag('div')
entry:addClass(sandboxVersion('portalbox-entry'))
local image = entry:tag('span')
image:addClass(sandboxVersion('portalbox-image'))
image:wikitext(item[1])
local link = entry:tag('span')
link:addClass(sandboxVersion('portalbox-link'))
link:wikitext(item[2])
end
return root
end
 
Line 205 ⟶ 219:
if errMsg then
if args.border then -- suppress error message when border=no
args.error = true -- recreate box without fancy formatting
root = portalBox(args)
root:wikitext(trackingCat)
local errTag = root:tag('strong')
errTag:addClass('error')
Line 217 ⟶ 234:
end
 
local formatted_listcontents = {}
-- Display the portals specified in the positional arguments.
for _, portal in ipairs(portals) do
table.insert(formatted_list,local image = string.format('[[File:%s|32x28px|class=noviewer]]',
getImageName(portal),)
'<span>[[File:%s|32x28px|class=noviewer]]</span><span>[[Portal:%s|%s%sportal]]</span>',
local link = string.format('[[Portal:%s|%s%sportal]]',
getImageName(portal),
portal, portal, args.addBreak and '<br />' or ' ')
portal,
table.insert(contents, {image, link})
portal,
args.addBreak and '<br />' or ' '
))
end
return tostring(root:wikitextfillBox(listroot, contents))
local list = require('Module:List').unbulleted(formatted_list)
 
return tostring(root:wikitext(list))
end
 
Line 241 ⟶ 253:
local root = portalBox(args)
 
local formatted_listcontents = {}
-- Display the portals specified in the positional arguments.
for _, imagefn in ipairs(imageList) do
local image = string.format('[[File:%s|32x28px|class=noviewer]]',fn)
table.insert(formatted_list, string.format(
local link = string.format('[[:File:%s|%s]]',fn,fn)
'<span>[[File:%s|32x28px|class=noviewer]]</span><span>[[:File:%s|%s]]</span>',
imagetable.insert(contents, {image, image)link})
end
local list = require('Module:List').unbulleted(formatted_list)
 
return tostring(root:wikitextfillBox(listroot,contents))
end