Module:Toolbar
Appearance
This Lua module is used in system messages,and onapproximately 1,330,000 pages, or roughly 2% of all pages. Changes to it can cause immediate changes to the Wikipedia user interface. To avoid major disruption and server load, any changes should be tested in the module's/sandboxor/testcasessubpages, or in your ownmodule sandbox.The tested changes can be added to this page in a single edit. Please discuss changes on thetalk pagebefore implementing them. |
This module issubject to page protection.It is ahighly visible modulein use by a very large number of pages, or issubstitutedvery frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it isprotectedfrom editing. |
This module implements{{toolbar}}.Please see the template page for documentation.
See also
- {{toolbar}},{{toolbar/sandbox}},/testcases
-- This module implements {{toolbar}}.
localmArguments-- Lazily initialise [[Module:Arguments]]
localmTableTools=require('Module:TableTools')
localyesno=require('Module:Yesno')
localp={}
functionp.main(frame)
mArguments=require('Module:Arguments')
localargs=mArguments.getArgs(frame)
returnp._main(args)
end
functionp._main(args)
localtoolbarItems=p.makeToolbarItems(args)
ifnottoolbarItemsthen
-- Return the blank string if no arguments were specified, rather than
-- returning empty brackets.
return''
elseifyesno(args.span)==falsethen
returnstring.format(
'(%s)',
toolbarItems
)
else
returnstring.format(
'<span class= "plainlinks%s" %s>(%s)</span>',
type(args.class)=='string'and' '..args.classor'',
type(args.style)=='string'andstring.format(' style= "%s" ',args.style)or'',
toolbarItems
)
end
end
functionp.makeToolbarItems(args)
localnums=mTableTools.numKeys(args)
localsep=(args.separatoror'pipe')..'-separator'
sep=mw.message.new(sep):plain()
localret={}
fori,vinipairs(nums)do
ret[#ret+1]=mw.ustring.gsub(args[v],"%[%[::+(.-)%]%]","[[:%1]]")
end
if#ret>0then
returntable.concat(ret,sep)
else
returnnil
end
end
returnp