Модуль:Панель инструментов

-- Этот модуль реализует {{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                        
Взято с "https://en.wikipedia.org/w/index.php?title=Module:Toolbar&oldid=885216335"