विभाग:Toolbar
This template is used on ६८०,०००+ pages. To avoid large-scale disruption and unnecessary server load, any changes to it should first be tested in its /sandbox or /testcases subpages or in your own user subpage. The tested changes can then be added to this page in a single edit. Please consider discussing any changes on the talk page before implementing them. |
हा विभाग (मॉड्यूल) पान सुरक्षेच्या अधीन असलेला आहे. तो खूप पानांवर वापरल्या जाणारा उच्च-दृश्यतेचा विभाग आहे किंवा, त्याचे substitution वारंवार होते. त्यामधील उत्पात किंवा चुका या अनेक पानांवर परिणाम करु शकतात. किरकोळ किंवा क्षुद्र संपादनही विदागारावर प्रचंड ताण उत्पन्न करु शकते. म्हणून, त्यास संपादनांपासून सुरक्षित केले आहे. |
This module implements {{toolbar}}. Please see the template page for documentation.
-- This module implements {{toolbar}}.
local mArguments -- Lazily initialise [[Module:Arguments]]
local mTableTools = require('Module:TableTools')
local yesno = require('Module:Yesno')
local p = {}
function p.main(frame)
mArguments = require('Module:Arguments')
local args = mArguments.getArgs(frame)
return p._main(args)
end
function p._main(args)
local toolbarItems = p.makeToolbarItems(args)
if not toolbarItems then
-- Return the blank string if no arguments were specified, rather than
-- returning empty brackets.
return ''
elseif yesno(args.span) == false then
return string.format(
'(%s)',
toolbarItems
)
else
return string.format(
'<span class="plainlinks%s"%s>(%s)</span>',
type(args.class) == 'string' and ' ' .. args.class or '',
type(args.style) == 'string' and string.format(' style="%s"', args.style) or '',
toolbarItems
)
end
end
function p.makeToolbarItems(args)
local nums = mTableTools.numKeys(args)
local sep = (args.separator or 'pipe') .. '-separator'
sep = mw.message.new(sep):plain()
local ret = {}
for i, v in ipairs(nums) do
ret[#ret + 1] = mw.ustring.gsub(args[v], "%[%[::+(.-)%]%]", "[[:%1]]")
end
if #ret > 0 then
return table.concat(ret, sep)
else
return nil
end
end
return p