Modul:Text

Aus GaretienWiki
Zur Navigation springen Zur Suche springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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

return p