localp={}localNavbox=require('Module:Navbox')localStyles=require('Module:WPMILHIST Infobox style')localfunctionisblank(s)return(nots)ors==''endlocalfunctionifnotblank(s,p,t)return(sands~='')and(p..s)ortendfunctionp.main(frame)localargs={}localpargs=frame:getParent().argslocalfargs=frame.argslocalsargs={}localtcats=''-- process bodystyle and titlestylelocalstyle=fargs['style']orpargs['style']or''ifstyle=='wide'thenargs['titlestyle']=Styles['nav_box_wide_header']args['bodystyle']=Styles['nav_box_wide']elseargs['titlestyle']=Styles['nav_box_header']localborder=fargs['border']orpargs['border']or''ifborder=='child'orborder=='subgroup'thenargs['bodystyle']=Styles['nav_box_child']tcats=tcats..'[[رده:صفحههایی که از زیرگروههای ناوبری نظامی بدون سبک عریض استفاده میکنند]]'elseargs['bodystyle']=Styles['nav_box']endendsargs['titlestyle']=1sargs['bodystyle']=1-- process groupstyle, abovestyle, belowstyleargs['groupstyle']=Styles['nav_box_label']..(fargs['groupstyle']orpargs['groupstyle']or'')sargs['groupstyle']=1args['abovestyle']=Styles['nav_box_label']..(fargs['abovestyle']orpargs['abovestyle']or'')sargs['abovestyle']=1args['belowstyle']=Styles['nav_box_label']..(fargs['belowstyle']orpargs['belowstyle']or'')sargs['belowstyle']=1-- process oddstyle, evenstyleargs['oddstyle']=ifnotblank((fargs['odd_color']orpargs['odd_color']),'background:',nil)args['evenstyle']=ifnotblank((fargs['even_color']orpargs['even_color']),'background:',nil)sargs['oddstyle']=1sargs['evenstyle']=1-- process name and rawnameargs['name']=ifnotblank((fargs['name']orpargs['name']),'',(fargs['rawname']orpargs['rawname']))ifisblank(args['name'])thenargs['navbar']='plain'endsargs['name']=1sargs['rawname']=1-- copy the remaining args, with frame args overriding parent argsfork,vinpairs(pargs)doifvandv~=''andsargs[k]==nilthenargs[k]=vendendfork,vinpairs(fargs)doifvandv~=''andsargs[k]==nilthenargs[k]=vendend-- add allow wrapifargs['title']andstyle~='wide'thenifnotmw.ustring.match(args['title'],'<span class="wrap">')then-- probably a more efficient way to match 15 or more characterslocalm='[^%[%]<>|][^%[%]<>|][^%[%]<>|][^%[%]<>|][^%[%]<>|]'m=m..m..margs['title']=mw.ustring.gsub(args['title'],'%[%[('..m..'[^%[%]<>|]*)%]%]','[[%1|<span class="wrap">%1</span>]]')args['title']=mw.ustring.gsub(args['title'],'%[%[([^%[%]<>|]*)|('..m..'[^%[%]<>|]*)%]%]','[[%1|<span class="wrap">%2</span>]]')endend-- add navbox-vertical for non-wide formatifstyle~='wide'thenargs['bodyclass']='navbox-vertical'..(args['bodyclass']and(' '..args['bodyclass'])or'')endreturntcats..Navbox._navbox(args)endreturnp