Modul:Text: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
VolkoV (Diskussion | Beiträge) K (SyncBot) |
K (SyncBot) |
||
Zeile 30: | Zeile 30: | ||
function subZeile(titel,wert) | function subZeile(titel,wert) | ||
if(wert=='') then return '' end | if(wert=='') then return '' end | ||
return '<div class="zeile"><div class="zltitel">'.. | 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 | ||
Version vom 16. April 2024, 14:23 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%]%]','') 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