Modul:Wappen: Unterschied zwischen den Versionen

Aus GaretienWiki
Zur Navigation springen Zur Suche springen
VolkoV (D | B)
VolkoV (D | B)
(42 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:
 
   if(wert==nil) then return default end
 
   if(wert==nil) then return default end
 
   return wert
 
   return wert
 +
end
 +
 +
function p.Wappen()
 +
  frame=mw.getCurrentFrame()
 +
  artikel=StringOderDefault(frame.args[1],'')
 +
  groesse=StringOderDefault(frame.args[2],'20px')
 +
  postfix=StringOderDefault(frame.args[3],'   ')
 +
  if artikel=='' then return '' end
 +
  result='Datei:Wappen blanko.svg'
 +
  local a=frame:callParserFunction(
 +
  '#show',artikel,
 +
  '?Wappen ist#'
 +
  )
 +
  if a~='' then
 +
  result=a
 +
  end
 +
  return '[['..result..'|'..groesse..'|link='..artikel..']]'..postfix
 
  end
 
  end
  
 
  function p.WappenMitKrone()
 
  function p.WappenMitKrone()
 +
 +
  --Parameter einlesen
 
   frame=mw.getCurrentFrame()
 
   frame=mw.getCurrentFrame()
 +
  prunkwappen=StringOderDefault(frame.args['Prunkwappen'],'')
 
   wappen=StringOderDefault(frame.args['Wappen'],'Wappen blanko.svg')
 
   wappen=StringOderDefault(frame.args['Wappen'],'Wappen blanko.svg')
   krone=StringOderDefault(frame.args['Krone'],'Baronskrone2.svg')
+
   krone=StringOderDefault(frame.args['Krone'],'')
   zier=StringOderDefault(frame.args['Kronenzier'],'Kronenzier Wulst Reichsfarben.svg')
+
   zier=StringOderDefault(frame.args['Kronenzier'],'')
 
   size=StringOderDefault(frame.args['Size'],'10')
 
   size=StringOderDefault(frame.args['Size'],'10')
 
   link=StringOderDefault(frame.args['Link'],'Hauptseite')
 
   link=StringOderDefault(frame.args['Link'],'Hauptseite')
 
   titel=StringOderDefault(frame.args['Titel'],'Wappen')
 
   titel=StringOderDefault(frame.args['Titel'],'Wappen')
   verschiebung=StringOderDefault(frame.args['Verschiebung'],'10')
+
   verschiebung=StringOderDefault(frame.args['Verschiebung'],'')
 +
 
 +
  --Verschiebung nach oben für kleinere Kronen berechnen
 +
  versch=0
 +
  if      krone=='Raulskrone2.svg'          then versch= 0.0
 +
  elseif krone=='Debrekskrone2.svg'        then versch= 2.0
 +
  elseif krone=='Koenigskrone2.svg'        then versch=10.0
 +
  elseif krone=='Bergkoenigskrone2.svg'    then versch= 8.0
 +
  elseif krone=='Erzherzogenkrone2.svg'    then versch= 8.0
 +
  elseif krone=='Herzogenkrone2.svg'      then versch=11.0
 +
  elseif krone=='Grossfuerstenkrone2.svg'  then versch= 8.0
 +
  elseif krone=='Fuerstenkrone2.svg'      then versch=11.0
 +
  elseif krone=='Markgrafenkrone2.svg'    then versch=12.5
 +
  elseif krone=='Grafenkrone2.svg'        then versch=12.5
 +
  elseif krone=='Burggrafenkrone2.svg'    then versch=12.5
 +
  elseif krone=='Baronskrone2.svg'        then versch=13.0
 +
  elseif krone=='Junkerskrone2.svg'        then versch=13.0
 +
  elseif krone=='Edlenkrone2.svg'          then versch=14.0
 +
  elseif krone=='Mauerkrone Gareth2.svg'  then versch= 7.0
 +
  elseif krone=='Mauerkrone2.svg'          then versch= 7.0
 +
  elseif krone=='Rathauskrone2.svg'        then versch= 7.0
 +
  elseif krone=='Kirchenkrone2.svg'        then versch= 3.0
 +
  elseif krone=='Marktkrone2.svg'          then versch= 8.0
 +
  elseif krone=='Bingenkrone2.svg'        then versch=12.0
 +
  elseif krone=='Rohalskappe Weiss2.svg'  then versch= 5.0
 +
  elseif krone=='Rohalskappe Grau2.svg'    then versch= 5.0
 +
  elseif krone=='Rohalskappe Schwarz2.svg' then versch= 5.0
 +
  elseif krone=='Gestechhelm2.svg'        then versch= 0.0
 +
  elseif krone~=''                        then versch= 0.0
 +
  else                                          versch=17.5
 +
  end
 +
  if verschiebung=='' then versch=0.0 end
 +
  if prunkwappen~='' then versch=7.0 end
 +
 
 +
  versch=versch*size;
 +
 
 +
  size9=size*9
 +
  size18=size*18
 +
  size36=size*36
 +
 
 +
  result='<div style="float:left;position:relative;top:0px;width:'..size18..'px;height:'..(size*45-versch)..'px;">'
 +
  if prunkwappen=='' then
 +
 
 +
  --Krone
 +
  if krone~='' then
 +
    result=result..'<div style="position:absolute;top:0px;left:0px;width:'..size18..'px;height:'..(size18-versch)..'px;text-align:center;overflow:hidden;"><div style="margin-top:'..(-versch)..'px;">[[Datei:'..krone..'|'..size18..'x'..size18..'px|link='..link..']]</div></div>'
 +
  end
 +
 
 +
  --Kronenzier
 +
  if zier~='' then
 +
    result=result..'<div style="position:absolute;top:0px;left:0px;width:'..size18..'px;height:'..(size18-versch)..'px;text-align:center;overflow:hidden;"><div style="margin-top:'..(-versch)..'px;">[[Datei:'..zier..'|'..size18..'x'..size18..'px|link='..link..']]</div></div>'
 +
  end
 +
 
 +
  --Wappen
 +
  result=result..'<div style="position:absolute;top:'..(size18-versch)..'px;left:0px;width:'..size18..'px;height:'..size18..'px;text-align:center;">[[Datei:'..wappen..'|'..size18..'x'..size18..'px|link='..link..']]</div>'
 
    
 
    
   size=size*18
+
   --oder Prunkwappen
 +
  else
 +
  result=result..'<div style="position:absolute;top:0px;left:0px;width:'..size18..'px;height:'..(size36-versch)..'px;text-align:center;overflow:hidden;">[[Datei:'..prunkwappen..'|'..size18..'x'..size36..'px|link='..link..']]</div>'
 +
  end
 +
 
 +
  --Schriftrolle
 +
  result=result..'<div style="position:absolute;top:'..(size36-versch)..'px;left:0px;width:'..size18..'px;height:'..size9..'px;text-align:center;">[[Datei:Wappen Schriftrolle.svg|'..size18..'x'..size18..'px|link='..link..']]</div>'
  
   result='<div style=position:absolute;top:0px;left:0px;width:'..size18..'px;height:'..size18..'px;text-align:center;">[[Datei:'..krone..'|'..width..'x'..height..'px|link='..link..']]</div>'
+
  --Schrift
 +
   result=result..'<div style="position:absolute;top:'..(size36+size-versch)..'px;left:'..size..'px;width:'..(size*16)..'px;height:'..size9..'px;text-align:center;line-height:'..(size*2)..'px;font-size:'..(size*1.5)..'px;font-family: \'Lucida Calligraphy\', \'Lucida Handwriting\', \'Brush Script MT\', \'Segoe Script\', Georgia, cursive;">[['..link..'|'..titel..']]</div>'
 +
 
 +
  result=result..'</div>'
 
    
 
    
 
   return result   
 
   return result   

Version vom 20. Oktober 2019, 11:09 Uhr

Dokumentation und Testfälle unter Modul:Wappen/Doku.
local p = {}
 
 local StringOderDefault=function(wert,default)
  if(wert=='') then return default end
  if(wert==nil) then return default end
  return wert
 end

 function p.Wappen()
  frame=mw.getCurrentFrame()
  artikel=StringOderDefault(frame.args[1],'')
  groesse=StringOderDefault(frame.args[2],'20px')
  postfix=StringOderDefault(frame.args[3],'&nbsp;&nbsp;&nbsp;')
  if artikel=='' then return '' end
  result='Datei:Wappen blanko.svg'
  local a=frame:callParserFunction(
   '#show',artikel,
   '?Wappen ist#'
  )
  if a~='' then
   result=a
  end
  return '[['..result..'|'..groesse..'|link='..artikel..']]'..postfix
 end

 function p.WappenMitKrone()

  --Parameter einlesen
  frame=mw.getCurrentFrame()
  prunkwappen=StringOderDefault(frame.args['Prunkwappen'],'')
  wappen=StringOderDefault(frame.args['Wappen'],'Wappen blanko.svg')
  krone=StringOderDefault(frame.args['Krone'],'')
  zier=StringOderDefault(frame.args['Kronenzier'],'')
  size=StringOderDefault(frame.args['Size'],'10')
  link=StringOderDefault(frame.args['Link'],'Hauptseite')
  titel=StringOderDefault(frame.args['Titel'],'Wappen')
  verschiebung=StringOderDefault(frame.args['Verschiebung'],'')

  --Verschiebung nach oben für kleinere Kronen berechnen
  versch=0
  if      krone=='Raulskrone2.svg'          then versch= 0.0
   elseif krone=='Debrekskrone2.svg'        then versch= 2.0
   elseif krone=='Koenigskrone2.svg'        then versch=10.0
   elseif krone=='Bergkoenigskrone2.svg'    then versch= 8.0
   elseif krone=='Erzherzogenkrone2.svg'    then versch= 8.0
   elseif krone=='Herzogenkrone2.svg'       then versch=11.0
   elseif krone=='Grossfuerstenkrone2.svg'  then versch= 8.0
   elseif krone=='Fuerstenkrone2.svg'       then versch=11.0
   elseif krone=='Markgrafenkrone2.svg'     then versch=12.5
   elseif krone=='Grafenkrone2.svg'         then versch=12.5
   elseif krone=='Burggrafenkrone2.svg'     then versch=12.5
   elseif krone=='Baronskrone2.svg'         then versch=13.0
   elseif krone=='Junkerskrone2.svg'        then versch=13.0
   elseif krone=='Edlenkrone2.svg'          then versch=14.0
   elseif krone=='Mauerkrone Gareth2.svg'   then versch= 7.0
   elseif krone=='Mauerkrone2.svg'          then versch= 7.0
   elseif krone=='Rathauskrone2.svg'        then versch= 7.0
   elseif krone=='Kirchenkrone2.svg'        then versch= 3.0
   elseif krone=='Marktkrone2.svg'          then versch= 8.0
   elseif krone=='Bingenkrone2.svg'         then versch=12.0
   elseif krone=='Rohalskappe Weiss2.svg'   then versch= 5.0
   elseif krone=='Rohalskappe Grau2.svg'    then versch= 5.0
   elseif krone=='Rohalskappe Schwarz2.svg' then versch= 5.0
   elseif krone=='Gestechhelm2.svg'         then versch= 0.0
   elseif krone~=''                         then versch= 0.0
   else                                          versch=17.5
  end
  if verschiebung=='' then versch=0.0 end
  if prunkwappen~='' then versch=7.0 end

  versch=versch*size;
  
  size9=size*9
  size18=size*18
  size36=size*36

  result='<div style="float:left;position:relative;top:0px;width:'..size18..'px;height:'..(size*45-versch)..'px;">'
  if prunkwappen=='' then

  --Krone
   if krone~='' then
    result=result..'<div style="position:absolute;top:0px;left:0px;width:'..size18..'px;height:'..(size18-versch)..'px;text-align:center;overflow:hidden;"><div style="margin-top:'..(-versch)..'px;">[[Datei:'..krone..'|'..size18..'x'..size18..'px|link='..link..']]</div></div>'
   end

  --Kronenzier
   if zier~='' then
    result=result..'<div style="position:absolute;top:0px;left:0px;width:'..size18..'px;height:'..(size18-versch)..'px;text-align:center;overflow:hidden;"><div style="margin-top:'..(-versch)..'px;">[[Datei:'..zier..'|'..size18..'x'..size18..'px|link='..link..']]</div></div>'
   end

   --Wappen
   result=result..'<div style="position:absolute;top:'..(size18-versch)..'px;left:0px;width:'..size18..'px;height:'..size18..'px;text-align:center;">[[Datei:'..wappen..'|'..size18..'x'..size18..'px|link='..link..']]</div>'
  
  --oder Prunkwappen
  else
   result=result..'<div style="position:absolute;top:0px;left:0px;width:'..size18..'px;height:'..(size36-versch)..'px;text-align:center;overflow:hidden;">[[Datei:'..prunkwappen..'|'..size18..'x'..size36..'px|link='..link..']]</div>'
  end
  
  --Schriftrolle
  result=result..'<div style="position:absolute;top:'..(size36-versch)..'px;left:0px;width:'..size18..'px;height:'..size9..'px;text-align:center;">[[Datei:Wappen Schriftrolle.svg|'..size18..'x'..size18..'px|link='..link..']]</div>'

  --Schrift
  result=result..'<div style="position:absolute;top:'..(size36+size-versch)..'px;left:'..size..'px;width:'..(size*16)..'px;height:'..size9..'px;text-align:center;line-height:'..(size*2)..'px;font-size:'..(size*1.5)..'px;font-family: \'Lucida Calligraphy\', \'Lucida Handwriting\', \'Brush Script MT\', \'Segoe Script\', Georgia, cursive;">[['..link..'|'..titel..']]</div>'
  
  result=result..'</div>'
  
  return result  
 end

 return p