Modul:Infobox
Megjelenés
Infobox[mi ez?] • [dokumentáció: mutat, ] • [tesztek: létrehozás]
![]() | Függ az alábbi moduloktól: |
A megvalósított sablonok dokumentációját lásd a Sablon:Infobox lapon.
require('strict')localgetArgs=require"Modul:Arguments".getArgslocalp={}p.row=function(args)args=getArgs(args)localval,label,group,undertagval=args[1]ifnotvalthenreturnnilendifargs[3]thenlabel='[['..args[3]..'|'..args[2]..']]'elselabel=args[2]endgroup=args['csoportazonosító']undertag=not(notargs['címke alatt'])localrow=mw.html.create('tr')ifgroupthenrow:addClass('csoport-'..tostring(group))endlocallabeltag=row:tag('td')labeltag:addClass(undertagand'cimkealatt'or'cimke')ifnotundertagthenlabeltag:css('font-weight','bolder')endlabeltag:wikitext(label)labeltag:done()localvaltag=row:tag('td')valtag:wikitext(val)valtag:done()returntostring(row)endp['adat allapról']=function(frame)localargs=getArgs(frame,{wrappers='Sablon:Infobox/Adat allapról'})ifnotargs[1]ornotargs[2]thenreturnnilendlocalvalueifmw.language.getContentLanguage():lc(args[1])=='népesség'andargs[2]==mw.title.getCurrentTitle().textthenvalue=require('Modul:Wikidata').formatStatements(nil,{property='P1082',format='default',sort='P585',sortDesc='1',first='1'})endifnotvalueorvalue==''thenlocaltitle=mw.title.new('Sablon:'..args[1]..'/'..args[2])iftitleandtitle.existsthenvalue=mw.getCurrentFrame():expandTemplate{title=title.text..(args[3]and' ('..args[3]..')'or'')}elsevalue=mw.getCurrentFrame():expandTemplate{title=args[1]..'/ismeretlen',args={args[2]}}endendreturnstring.format('<tr style="vertical-align:top;"><td style="font-weight:bold;">%s</td><td>%s</td></tr>',args[4]or'',value)endp["ország"]=function(frame)localargs=getArgs(frame,{wrappers="Sablon:Infobox/Ország"})ifargs[1]=="-"thenreturnnilendlocalcdata=require('Modul:Country data').mainreturnp.row{cdata{[1]=args[1],['size']=args[4]},'Ország'}endp.image=function(filename,legend,property,entityId)iffilename=='-'thenreturnnil,nilendif(notfilename)andpropertythenlocalitem=mw.wikibase.getEntity(entityId)ifnotitemthenreturnnil,nilendlocalimage=item:getBestStatements(string.upper(property))[1]ifimageandimage.mainsnak.snaktype=='value'thenfilename=image.mainsnak.datavalue.valuelegend=nilifimage.qualifiersandimage.qualifiers.P2096thenfor_,snakinipairs(image.qualifiers.P2096)doifsnak.snaktype=='value'thenifsnak.datavalue.value.language=='hu'thenlegend=snak.datavalue.value.textendendendendelsereturnnil,nilendendreturnfilename,legendendp["kép"]=function(frame)localargs=getArgs(frame,{wrappers="Sablon:Infobox/Kép"})localfilename,legend=p.image(args[1],args[3],args["wd-property"],args["wd-entity"])ifnotfilenamethenreturnnilendlocalfilesize=args[2]ifnotfilesizethenlocaltitle=mw.title.new('Media:'..filename)if(titleandtitle.file.widthandtitle.file.width<250andtitle.file.mimeType~='image/svg'andtitle.file.mimeType~='image/svg+xml')thenfilesize=title.file.widthelsefilesize=250endfilesize=tostring(filesize)..'px'endlocallink="[[Fájl:"..filename.."|"..filesizeiflegendthenlink=link.."|"..legendendlink=link.."]]"localresult=tostring(mw.html.create"tr":tag"td":attr("colspan","2"):css("text-align","center"):wikitext(link):allDone())iflegendthenresult=result..tostring(mw.html.create"tr":tag"td":attr("colspan","2"):css("text-align","center"):css("font-size","92%"):wikitext(legend):allDone())endreturnresultendlocalfunctiongetWikidataCoord(entityId)localitem=mw.wikibase.getEntity(entityId)ifnotitemthenreturnnil,nilendlocalP625=item:getBestStatements('P625')for_,vinipairs(P625)doifv.mainsnak.snaktype=='value'thenlocallat=P625[1].mainsnak.datavalue.value.latitudelocallong=P625[1].mainsnak.datavalue.value.longitudereturnlat,longendendlocalP159=item:getBestStatements('P159')for_,vinipairs(P159)doifv.qualifiersandv.qualifiers.P625andv.qualifiers.P625[1].snaktype=='value'thenlocallat=v.qualifiers.P625[1].datavalue.value.latitudelocallong=v.qualifiers.P625[1].datavalue.value.longitudereturnlat,longendendreturnnil,nilendlocalfunctioncoordRow(coordinatesLink)return'<tr><td colspan="2" style="text-align:center">[[Fájl:OOjs UI icon mapPin-progressive.svg|16px|link=]] '..coordinatesLink..'</td></tr>'end--[[ Helyi értékű paramétereket átalakítja szám szerinti paraméterekké. Modul:Pozíciós térkép-ből is.--]]functionp.coord(frame,args)localcoorArgs={args[9],display=args.display,format='dms',with_pfunc=true}ifargs[1]andargs[5]thenlocalhemisphereMultipliers={longitude={W=-1,w=-1,E=1,e=1,NY=-1,Ny=-1,ny=-1,K=1,k=1},latitude={S=-1,s=-1,N=1,n=1,D=-1,d=-1,['É']=1,['é']=1}}table.insert(coorArgs,1,hemisphereMultipliers.latitude[args[4]]andargs[4]or'N')table.insert(coorArgs,2,hemisphereMultipliers.longitude[args[8]]andargs[8]or'E')table.insert(coorArgs,1,args[1])table.insert(coorArgs,3,args[5])ifargs[2]andargs[6]thentable.insert(coorArgs,2,args[2])table.insert(coorArgs,5,args[6])ifargs[3]andargs[7]thentable.insert(coorArgs,3,args[3])table.insert(coorArgs,7,args[7])endelseifnotargs[4]ornotargs[8]thentable.remove(coorArgs,4)table.remove(coorArgs,2)endendelseifargs.latandargs.longthentable.insert(coorArgs,1,args.lat)table.insert(coorArgs,2,args.long)coorArgs.precision='wikidata'elsereturnnilendreturnrequire('Modul:Coordinate').coord(nil,coorArgs)endp["pozíciós térkép"]=function(frame)localargs=getArgs(frame,{wrappers="Sablon:Infobox/Pozíciós térkép"})ifargs[4]=='-'orargs[8]=='-'thenreturnnilendlocalmapArgs={args[1],['felirat']="'''"..(args[2]~='{{{név}}}'andargs[2]orrequire'Modul:String'.simpletitle{args={}}).."'''",['keret']='none',['felirat pozíciója']=args[3],['jel']=args.jelor'Green pog.svg',['felirat mérete']='100',['méret']='248',['igazítás']='none',['térképtípus']=args['térképtípus'],['meta']=args.meta,['jel mérete']=args['jel mérete']}ifargs[4]andargs[8]thenmapArgs['szélesség']=args[7]mapArgs['hosszúság']=args[11]mapArgs['szélességi fok']=args[4]mapArgs['hosszúsági fok']=args[8]ifargs[5]andargs[9]thenmapArgs['szélességi ívperc']=args[5]mapArgs['hosszúsági ívperc']=args[9]ifargs[6]andargs[10]thenmapArgs['szélességi ívmásodperc']=args[6]mapArgs['hosszúsági ívmásodperc']=args[10]endendelsemapArgs.lat,mapArgs.long=getWikidataCoord(args['wd-entity'])ifnotmapArgs.latornotmapArgs.longthenreturnnilendendlocalresult={}localtrackWikidata=falseifnotargs[1]thenifnotargs['koordinátakategória nélkül']thentable.insert(result,'[[Kategória:Koordináták térkép nélkül]]')endelseifargs[1]~='-'thenlocaltitle=mw.title.new('Sablon:Pozíciós térkép '..args[1])iftitleandmw.ustring.sub(args[1],-9)==' vármegye'andnottitle.existsthenmapArgs[1]=mw.ustring.gsub(args[1],' vármegye$',' megye')title=mw.title.new('Sablon:Pozíciós térkép '..mapArgs[1])endiftitleandtitle.existsthenlocalsuccess,map=pcall(require'Modul:Pozíciós térkép'.many,frame,mapArgs)ifnotsuccessthenmap='<strong class="error">'..map..'</strong>[[Kategória:Hibásan használt pozícióstérkép-sablonok]]'elsetrackWikidata=trueendtable.insert(result,'<tr><td colspan="2" align="center">'..map..'</td></tr>\n')elsetable.insert(result,'[[Kategória:Pozíciós térképet hiányoló lapok]]')endendifargs['koordináta a térkép alatt']thentable.insert(result,coordRow(p.coord(frame,{args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args.meta,display=args['koordináta a cím alatt']and'inline,title',lat=mapArgs.lat,long=mapArgs.long})))trackWikidata=trueelseifargs['koordináta a cím alatt']thentable.insert(result,p.coord(frame,{args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args.meta,display='title',lat=mapArgs.lat,long=mapArgs.long}))trackWikidata=trueend-- Nincs rá szükség--if trackWikidata and mapArgs.lat then-- table.insert(result, '[[Kategória:Wikidata-koordinátákat használó lapok]]')--endreturntable.concat(result)endp["koordináta"]=function(frame)localargs=getArgs(frame,{wrappers="Sablon:Infobox/Koordináta"})ifargs[1]=='-'orargs[5]=='-'thenreturnnilendifnotargs[1]ornotargs[5]thenargs.lat,args.long=getWikidataCoord(args['wd-entity'])ifnotargs.latornotargs.longthenreturnnilendendreturncoordRow(p.coord(frame,args))endfunctionp.terkep(frame)localargs=getArgs(frame,{wrappers='Sablon:Infobox/Térkép'})ifargs.mapframe=='no'orargs.map=='-'thenreturnnilendlocalitemId=mw.wikibase.getEntityIdForCurrentPage()orargs.entityIdlocalcst=itemIdandmw.wikibase.getBestStatements(itemId,'P625')or{}ifnotargs.coordand(notnext(cst)orcst[1].mainsnak.snaktype~='value')thenreturnnilendifnext(cst)andcst[1].mainsnak.datavalue.value.latitude<=-60then-- southern arcticframe.args[1]=args.mapreturnp['pozíciós térkép'](frame)endreturn('<tr><td colspan="2" style="text-align:center">%s</td></tr>'):format(require('Modul:Pozíciós térkép').infoboxMapframe(frame))endfunctionp.renderItalicTitle(frame)localargs=frame.argslocalitalicTitle=args['italic title']andmw.ustring.lower(args['italic title'])or''ifitalicTitle==''oritalicTitle=='force'oritalicTitle=='yes'thenreturnrequire('Module:Italic title')._main({})endendfunctionp.tarsprojekt(frame)localargs=getArgs(frame,{wrappers='Sablon:Infobox/Társprojekt'})ifnotargs[1]thenreturnnilendlocaltitle=args[2]iftitle=='-'thenreturnnilendlocalsiteGroup,prefix,lang,imageFileifargs[1]:match('^[Cc]ommons$')thensiteGroup='commonswiki'prefix='c:'imageFile='Commons-logo.svg'elseifargs[1]:match('^[Ww]ikiforrás$')thensiteGroup='wikisource'prefix='s:'imageFile='Wikisource-logo.svg'endifnotsiteGroupthenreturnnilendifsiteGroup:sub(1,4)=='wiki'thenlang=args[3]or'hu'endifnottitlethenlocalitemId=args[6]ormw.wikibase.getEntityIdForCurrentPage()ifnotitemIdthenreturnnilendtitle=mw.wikibase.getSitelink(itemId,(langor'')..siteGroup)ifsiteGroup=='commonswiki'thenifnottitleortitle:sub(1,9)~='Category:'thenlocalst=mw.wikibase.getBestStatements(itemId,'P373')ifnext(st)andst[1].mainsnak.snaktype=='value'thentitle='Category:'..st[1].mainsnak.datavalue.valueendendendifnottitlethenreturnnilendendlocaltext='<strong class="error">Modul:Infobox: Nincs megadva szöveg</strong>'ifsiteGroup=='commonswiki'thentext="A [[Wikimédia Commons]] tartalmaz ''[[%s]]'' témájú médiaállományokat."elseifsiteGroup=='wikisource'thentext=(lang=='hu'and'A'orframe:preprocess(('{{NAGYKEZDŐBETŰ:{{a(z)|{{nyelv neve/%s}}}}}}'):format(lang))).." [[Wikiforrás]]ban további forrásszövegek találhatók ''[[%s]]'' témában."endlocallabel=args[4]orrequire('Modul:String').simpletitle()text=text:format(('%s%s%s|%s'):format(prefix,langandlang~='hu'andlang..':'or'',title,label))return('<tr><td colspan="2" style="background-color:%s"><div style="display:flex"><div>[[Fájl:%s|20px|link=|alt=]]</div><div style="width:100%%; padding-left:1ch; text-align:center">%s</div></div></td></tr>'):format(args[5]or'#e4ebf3',imageFile,text)end--[[ Sablon:Repülőtér infobox futópálya P529 ]]functionp.repuloter_futopalya(frame)localargs=getArgs(frame,{frameOnly=true})ifargs[1]thenreturnnilendifargs[2]=='-'thenreturnnilendlocalitemId=mw.wikibase.getEntityIdForCurrentPage()ifnotitemIdthenreturnnilendlocalret={}localf=require'Modul:Wikidata'.formatterslocaloptions={link='nem',unit='m',showUnit=true,conjunction=', '}for_,sinipairs(mw.wikibase.getBestStatements(itemId,'P529'))dolocalmaterial={}for_,qinipairs(s.qualifiersands.qualifiers.P186or{})dotable.insert(material,mw.wikibase.renderSnak(q))endtable.insert(ret,'<tr><td>'..mw.wikibase.renderSnak(s.mainsnak)..'</td><td>'..f.formatSnaks(s.qualifiersands.qualifiers.P2043or{},options)..'</td><td>'..table.concat(material,', ')..'</td></tr>')endreturntable.concat(ret)end--[[ Sablon:Világörökségi helyszín infobox/veszélyeztetettség/P793 ]]functionp.vor_veszelyeztetettseg(frame)localargs=getArgs(frame,{frameOnly=true})ifargs[1]=='-'thenreturnnilendifargs[1]thenreturnargs[1]endlocalitemId=mw.wikibase.getEntityIdForCurrentPage()ifnotitemIdthenreturnnilendlocalret={}for_,sinipairs(mw.wikibase.getBestStatements(itemId,'P793'))dolocalstartTime,endTimeifs.mainsnak.datavalue.value.id=='Q222384'ands.qualifiersthenstartTime=s.qualifiers.P580andmw.wikibase.renderSnak(s.qualifiers.P580[1])ornilendTime=s.qualifiers.P582andmw.wikibase.renderSnak(s.qualifiers.P582[1])ornilendifstartTimeorendTimethentable.insert(ret,(startTimeor'')..'–'..(endTimeor''))endendreturntable.concat(ret,'<br>')end--[[ Sablon:Stw--]]functionp.newline_for_wikitext(frame)localtext=frame.args[1]ifnottextortext:match('^%s*(.-)%s*$')==''thenreturnnilendifmw.ustring.find('*#: ',mw.ustring.sub(text,1,1),1,true)ormw.ustring.sub(text,1,2)=='{|'thenreturn'\n'endreturnnilendreturnp