Modul:Text

Aus GaretienWiki
Version vom 11. März 2024, 13:58 Uhr von VolkoV (D | B)
Zur Navigation springen Zur Suche springen
Dokumentation und Testfälle unter Modul:Text/Doku.
 local p = {}
 
 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 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
  return '<div class="zeile"><div class="zltitel">'..titel..':</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=mw.text.trim(StringOderDefaultTrim(frame.args[1],''))
  s2=s:gsub(",+",',')..""
  return s2:gsub(",%d",'')..""
end

return p