پودمان:Babel
توضیحات این پودمان میتواند در پودمان:Babel/توضیحات قرار گیرد.
local p = {} local getArgs function p.main(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, {wrappers = 'الگو:بابل'}) local table_tag = mw.html.create('table') :addClass('userboxes') local table_styling = { {'float', args.align or 'left', ''}, {'margin-right', args.right or '1', 'em'}, {'margin-bottom', args.bottom or '0', 'em'}, {'width', args.width or '248', 'px'}, {'clear', args.align or 'left', ''}, {'color', args.textcolor or '#000000', ''} } for _,v in ipairs(table_styling) do table_tag:css(v[1],v[2]..v[3]) end local bordercolor = args.bordercolor or '#99B3FF' local solid = args.solid or '1' table_tag:css('border',bordercolor..' solid '..solid..'px') if args.shadow and string.lower(args.shadow) == 'yes' then table_tag:css('box-shadow','0 2px 4px rgb(0,0,0,0.2)') :css('-mox-box-shadow','0 2px 4px rgb(0,0,0,0.2)') :css('-webkit-box-shadow','0 2px 4px rgb(0,0,0,0.2)') end local extracss = args['extra-css'] or '' table_tag:cssText(extracss) local color = args.color or 'inherit' local row1 = mw.html.create('tr') local row2 = mw.html.create('tr') local row3 = mw.html.create('tr') local header = args.header or '[[ویکیپدیا:بابل]]' local footer = args.footer or '[[:رده:ویکیپدیاییها بر پایه زبان|جستجوی زبان کاربران]]' local footer_td = mw.html.create('td') :css('background-color',color) :css('text-align','center') :attr('colspan','10') :wikitext(footer) local header_th = mw.html.create('th') :css('background-color',color) :css('text-align','center') :attr('colspan','10') :wikitext(header) row1:node(header_th) row3:node(footer_td) local body_cells = mw.html.create('td') :css('vertical-align', 'middle !important') local userboxes if args[1] and args[1]:find('%S') then userboxes = frame:preprocess('{{User '..args[1]..'}}') else userboxes = args.noboxestext or "''شما هیچ زبانی تنظیم نکردهاید. لطفاً [[الگو:بابل/توضیحات]] را برای کمک ببینید.''" end args[1] = '' local unclosed_td = false for i, v in ipairs( args ) do local boxtext if v:find('%S') and v ~= '!' then boxtext = frame:preprocess('{{User '..v..'}}') userboxes = userboxes..boxtext elseif v and v == '!' then userboxes = userboxes..'</td>\n<td>' unclosed_td = true end end if args['special-boxes'] then userboxes = userboxes..args['special-boxes'] end if unclosed_td then userboxes = userboxes..'</td>' end body_cells:wikitext(userboxes) row2:node(body_cells) table_tag:node(row1) :node(row2) :node(row3) return tostring(table_tag) end return p