Modul:Text: Unterschied zwischen den Versionen

Aus KoschWiki
Zur Navigation springen Zur Suche springen
SyncBot (D | B)
K (Automatisch synchronisiert.)
SyncBot (D | B)
K (SyncBot)
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
  local p = {}
  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%]%]','')
p=mw.ustring.gsub(p,' ',' ')
return mw.text.trim(p)
end
 
  local StringOderDefaultTrim=function(wert,default)
  local StringOderDefaultTrim=function(wert,default)
   if(wert==nil) then return default end
   if(wert==nil) then return default end
   wert2=wert:gsub("^%s*(.-)%s*$", "%1")
   wert2=wert:gsub("^%s*(.-)%s*$", "%1")
   if(wert2=='') then return default end
   if(wert2=='') then return default end
   return wert2
   return robusttrim(wert2)
  end
  end


Zeile 19: Zeile 27:
   if(wert=='') then return '' end
   if(wert=='') then return '' end
   return pre..wert..post   
   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
  end


Zeile 25: Zeile 40:
   titel=StringOderDefaultTrim(frame.args[1],'Titel')
   titel=StringOderDefaultTrim(frame.args[1],'Titel')
   wert=StringOderDefaultTrim(frame.args[2],'')
   wert=StringOderDefaultTrim(frame.args[2],'')
   if(wert=='') then return '' end
   return subZeile(titel,wert)
  return '<div class="zeile"><div class="zltitel">'..titel..':</div><div class="zltext">'..wert..'</div></div>' 
  end
  end


Zeile 35: Zeile 49:
   if(wert=='') then return '' end
   if(wert=='') then return '' end
   return '<div class="zeilefett"><div class="zltitel">'..titel..':</div><div class="zltext">'..wert..'</div></div>'   
   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
  end


Zeile 41: Zeile 60:
   titel=StringOderDefaultTrim(frame.args[1],'Titel')
   titel=StringOderDefaultTrim(frame.args[1],'Titel')
   wert=StringOderDefaultTrim(frame.args[2],'')
   wert=StringOderDefaultTrim(frame.args[2],'')
   if(wert=='') then return '' end
   return subZeilengruppe(titel,wert)
  return '<div class="zeilengruppe"><div class="zgtitel">'..titel..':</div><div class="zgtext">'..wert..'</div></div>' 
  end
  end


Zeile 54: Zeile 72:
   return wert1..', '..wert2   
   return wert1..', '..wert2   
  end
  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
return p

Aktuelle Version vom 21. November 2024, 10:26 Uhr

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%]%]','')
	p=mw.ustring.gsub(p,'&nbsp;',' ')
	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