-- This implements Template:TlglocalgetArgs=require('Module:Arguments').getArgslocalp={}-- Is a string non-empty?localfunction_ne(s)returns~=nilands~=""endlocalnw=mw.text.nowikilocalfunctionaddTemplate(s)locali,_=s:find(':',1,true)ifi==nilthenreturn'Template:'..sendlocalns=s:sub(1,i-1)ifns==''ormw.site.namespaces[ns]thenreturnselsereturn'Template:'..sendendlocalfunctiontrimTemplate(s)localneedle='template:'ifs:sub(1,needle:len()):lower()==needlethenreturns:sub(needle:len()+1)elsereturnsendendlocalfunctionlinkTitle(args)if_ne(args.nolink)thenreturnargs['1']endlocaltitleObjlocaltitlePart='[['ifargs['1']then-- This handles :Page and other NStitleObj=mw.title.new(args['1'],'Template')elsetitleObj=mw.title.getCurrentTitle()endtitlePart=titlePart..(titleObj~=nilandtitleObj.fullTextoraddTemplate(args['1']))localtextPart=args.alttextifnot_ne(textPart)theniftitleObj~=nilthentextPart=titleObj:inNamespace("Template")andargs['1']ortitleObj.fullTextelse-- redlinktextPart=args['1']endendif_ne(args.subst)then-- HACK: the ns thing above is probably brokentextPart='subst:'..textPartendif_ne(args.brace)thentextPart=nw('{{')..textPart..nw('}}')elseif_ne(args.braceinside)thentextPart=nw('{')..textPart..nw('}')endtitlePart=titlePart..'|'..textPart..']]'if_ne(args.braceinside)thentitlePart=nw('{')..titlePart..nw('}')endreturntitlePartendfunctionp.main(frame)localargs=getArgs(frame,{trim=true,removeBlanks=false})returnp._main(args)endfunctionp._main(args)localbold=_ne(args.bold)or_ne(args.boldlink)or_ne(args.boldname)localitalic=_ne(args.italic)or_ne(args.italics)localdontBrace=_ne(args.brace)or_ne(args.braceinside)localcode=_ne(args.code)or_ne(args.tt)-- Build the link partlocaltitlePart=linkTitle(args)ifboldthentitlePart="'''"..titlePart.."'''"endif_ne(args.nowrapname)thentitlePart='<span class="nowrap">'..titlePart..'</span>'end-- Build the argumentslocaltextPart=""localtextPartBuffer=""locali=2whileargs[i]dolocalval=args[i]textPartBuffer=textPartBuffer..'|'ifval~=""thenif_ne(args.nowiki)then-- Unstrip nowiki tags first because calling nw on something that already contains nowiki tags will-- mangle the nowiki strip marker and result in literal UNIQ...QINU showing upval=nw(mw.text.unstripNoWiki(val))endifitalicthenval='<span style="font-style:italic;">'..val..'</span>'endtextPart=textPart..textPartBuffer..valtextPartBuffer=""endi=i+1end-- final wraplocalret=titlePart..textPartifnotdontBracethenret=nw('{{')..ret..nw('}}')endif_ne(args.a)thenret=nw('*')..' '..retendif_ne(args.kbd)thenret='<kbd>'..ret..'</kbd>'endifcodethenret='<code>'..ret..'</code>'elseif_ne(args.plaincode)thenret='<code style="border:none;background:transparent;">'..ret..'</code>'endif_ne(args.nowrap)thenret='<span class="nowrap">'..ret..'</span>'end--[[ Wrap as html?? local span = mw.html.create('span') span:wikitext(ret) --]]if_ne(args.debug)thenret=ret..'\n<pre>'..mw.text.encode(mw.dumpObject(args))..'</pre>'endreturnretendreturnp