Этот модуль Lua используется в системных сообщениях и примерно на 1 370 000 страницах, или примерно в 2 % всех страниц. Изменения в нем могут вызвать немедленные изменения в пользовательском интерфейсе Википедии. Чтобы избежать серьезных сбоев и нагрузки на сервер, любые изменения следует тестировать на подстраницах модуля /sandbox или /testcases или в вашей собственной песочнице модуля . Протестированные изменения можно добавить на эту страницу за одну правку. Пожалуйста, обсудите изменения на странице обсуждения перед их реализацией. |
Этот модуль подлежит защите страницы . Это очень заметный модуль , используемый очень большим количеством страниц или заменяемый очень часто. Поскольку вандализм или ошибки могут повлиять на многие страницы, и даже тривиальное редактирование может вызвать существенную нагрузку на серверы, он защищен от редактирования. |
Этот модуль зависит от следующих других модулей: |
Этот модуль реализует {{ toolbar }} . Пожалуйста, смотрите страницу шаблона для документации.
-- Этот модуль реализует {{toolbar}}. local mArguments -- Ленивая инициализация [[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 '' 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 или '' , type ( args.style ) == ' string ' and string.format ( ' style = " % s " ' , args.style ) или ' ' , toolbarItems ) end end function p.makeToolbarItems ( args ) local nums = mTableTools.numKeys ( args ) local sep = ( args .разделитель или '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