Aqbeż għall-kontentut

Module:Tlg

Minn Wikipedija, l-enċiklopedija l-ħielsa

Documentation for this module may be created atModule:Tlg/doc

-- Implementazzjoni ta' Mudell:Tlg
localgetArgs=require('Module:Arguments').getArgs
localp={}

-- Is a string non-empty?
localfunction_ne(s)
returns~=nilands~=""
end

localnw=mw.text.nowiki

localfunctionaddTemplate(s)
locali,_=s:find(':',1,true)
ifi==nilthen
return'Mudell:'..s
end
localns=s:sub(1,i-1)
ifns==''ormw.site.namespaces[ns]then
returns
else
return'Mudell:'..s
end
end

localfunctiontrimTemplate(s)
localneedle='mudell:'
ifs:sub(1,needle:len()):lower()==needlethen
returns:sub(needle:len()+1)
else
returns
end
end

localfunctionlinkTitle(args)
if_ne(args.nolink)then
returnargs['1']
end

localtitleObj
localtitlePart='[['
ifargs['1']then
-- This handles:Page and other NS
titleObj=mw.title.new(args['1'],'Mudell')
else
titleObj=mw.title.getCurrentTitle()
end

titlePart=titlePart..(titleObj~=nilandtitleObj.fullTextor
addTemplate(args['1']))

localtextPart=args.alttext
ifnot_ne(textPart)then
iftitleObj~=nilthen
textPart=titleObj:inNamespace("Mudell")andargs['1']ortitleObj.fullText
else
-- redlink
textPart=args['1']
end
end

if_ne(args.subst)then
-- HACK: the ns thing above is probably broken
textPart='subst:'..textPart
end

if_ne(args.brace)then
textPart=nw('{{')..textPart..nw('}}')
elseif_ne(args.braceinside)then
textPart=nw('{')..textPart..nw('}')
end

titlePart=titlePart..'|'..textPart..']]'
if_ne(args.braceinside)then
titlePart=nw('{')..titlePart..nw('}')
end
returntitlePart
end

functionp.main(frame)
localargs=getArgs(frame,{
trim=true,
removeBlanks=false
})
returnp._main(args)
end

functionp._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 part
localtitlePart=linkTitle(args)
ifboldthentitlePart="'''"..titlePart.."'''"end
if_ne(args.nowrapname)thentitlePart='<span class= "nowrap" >'..titlePart..'</span>'end

-- Build the arguments
localtextPart=""
fori=2,11do
localii=tostring(i)
localval=args[ii]
ifval~=nilthenval=mw.text.unstripNoWiki(val)elsebreakend
if_ne(args.nowiki)thenval=nw(val)end
ifitalicthenval='<span style= "font-style:italic;" >'..val..'</span>'end
textPart=textPart..'&#124;'..val
end
if_ne(args['12'])thentextPart=textPart..'&#124;…'end

-- final wrap
localret=titlePart..textPart
ifnotdontBracethenret=nw('{{')..ret..nw('}}')end
if_ne(args.a)thenret=nw('*')..'&nbsp;'..retend
if_ne(args.kbd)thenret='<kbd>'..ret..'</kbd>'end
ifcodethen
ret='<code>'..ret..'</code>'
elseif_ne(args.plaincode)then
ret='<code style= "border:none;background:transparent;" >'..ret..'</code>'
end
if_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>'end
returnret
end

returnp