Modul:Text
Zur Navigation springen
Zur Suche springen
Dokumentation und Testfälle unter Modul:Text/Doku.
local p = {}
-- Macht einen Trim in Kombination mit dem Entfernen der SMW-Tags, verwandelt nils in Strings
function robusttrim(s)
if s==nil then return '' end
local p=mw.ustring.gsub(s,'%[%[SMW::on%]%]','')
p=mw.ustring.gsub(p,'%[%[SMW::off%]%]','')
return mw.text.trim(p)
end
local StringOderDefaultTrim=function(wert,default)
if(wert==nil) then return default end
wert2=wert:gsub("^%s*(.-)%s*$", "%1")
if(wert2=='') then return default end
return robusttrim(wert2)
end
function trim1(s)
return (s:gsub("^%s*(.-)%s*$", "%1"))
end
function p.Text()
frame=mw.getCurrentFrame()
wert=StringOderDefaultTrim(frame.args[1],'')
pre=StringOderDefaultTrim(frame.args[2],'')
post=StringOderDefaultTrim(frame.args[3],'')
if(wert=='') then return '' end
return pre..wert..post
end
function subZeile(titel,wert)
if(wert=='') then return '' end
local titel2=titel..':'
if titel2==":" then titel2="" end
return '<div class="zeile"><div class="zltitel">'..titel2..'</div><div class="zltext">'..wert..'</div></div>'
end
function p.Zeile()
frame=mw.getCurrentFrame()
titel=StringOderDefaultTrim(frame.args[1],'Titel')
wert=StringOderDefaultTrim(frame.args[2],'')
return subZeile(titel,wert)
end
function p.ZeileFett()
frame=mw.getCurrentFrame()
titel=StringOderDefaultTrim(frame.args[1],'Titel')
wert=StringOderDefaultTrim(frame.args[2],'')
if(wert=='') then return '' end
return '<div class="zeilefett"><div class="zltitel">'..titel..':</div><div class="zltext">'..wert..'</div></div>'
end
function subZeilengruppe(titel,wert)
if(wert=='') then return '' end
return '<div class="zeilengruppe"><div class="zgtitel">'..titel..':</div><div class="zgtext">'..wert..'</div></div>'
end
function p.Zeilengruppe()
frame=mw.getCurrentFrame()
titel=StringOderDefaultTrim(frame.args[1],'Titel')
wert=StringOderDefaultTrim(frame.args[2],'')
return subZeilengruppe(titel,wert)
end
function p.KommaWenn()
frame=mw.getCurrentFrame()
wert1=StringOderDefaultTrim(frame.args[1],'')
wert2=StringOderDefaultTrim(frame.args[2],'')
if((wert1=='')and(wert2=='')) then return '' end
if(wert1=='') then return wert2 end
if(wert2=='') then return wert1 end
return wert1..', '..wert2
end
function p.KommaCollapse()
frame=mw.getCurrentFrame()
s=StringOderDefaultTrim(frame.args[1],'')
return mw.text.trim(s:gsub(",+",',').."","\t\r\n\f\v ,")
end
function p.StripTags()
frame=mw.getCurrentFrame()
s=StringOderDefaultTrim(frame.args[1],'')
s = string.gsub(s, "%b<>", " ")
return s
end
return p