Module:Infobox/Fonctions
Documentation for this module may be created at Module:Infobox/Fonctions/doc
-- Fonctions communes à diverses infobox
local localdata = require( 'Module:Infobox/Localdata' )
local wikidata = require( 'Module:Wikidata' )
local coordfunctions -- = require 'Module:Infobox/Fonctions/Géolocalisation'
local p = {}
function p.title(icon, style, subtitleparam, subtitlequery)
return {
type = 'title',
value = function()
return localdata['nom']
or wikidata.getLabel(localdata.item) and mw.language.getContentLanguage():ucfirst( wikidata.getLabel(localdata.item) )
or mw.title.getCurrentTitle().text
end,
subtitle = function() return localdata[subtitleparam] end,
wikidatasubtitle = subtitlequery,
icon = icon,
style = style,
}
end
function p.mainimage(args, defaultimage)
if type( args ) ~= 'table' then
args = { cat = args, defaultimage = defaultimage }
end
return {
type = 'images',
imageparameters = {'image'},
defaultimages = args.defaultimage,
defaultimagelink = 'Aide:Insérer une image',
sizeparameter = 'taille image',
uprightparameter = 'upright',
defaultupright = args.upright,
defaultsize = args.size,
maintenancecat = args.cat or 'Article à illustrer',
captionparameter = {'légende', 'légende image'},
altparameter = args.altparameter or 'alternative image',
defaultalt = args.alt,
defaultimagealt = args.defaultimagealt,
wikidata = args.wikidata or {property = 'P18'},
numval = 1,
}
end
function p.logo(upright)
return {
type = 'images',
imageparameters = {'logo'},
-- defaultimage = {},
-- maintenancecat =
captionparameter = 'légende logo',
property = 'P154',
defaultupright = upright or '0.6',
uprightparameter = 'upright logo',
sizeparameter = 'taille logo',
numval = 1,
}
end
function p.blason(upright)
return {
type = 'images',
imageparameters = {'blason'},
-- defaultimage = {},
-- maintenancecat =
captionparameter = 'légende blason',
property = 'P94',
defaultupright = upright or '0.3',
uprightparameter = 'upright blason',
sizeparameter = 'taille blason',
numval = 1,
}
end
function p.flag(upright)
return {
type = 'images',
imageparameters = {'drapeau'},
-- defaultimage = {},
-- maintenancecat =
captionparameter = 'légende drapeau',
property = 'P41',
defaultupright = upright or '0.6',
uprightparameter = 'upright drapeau',
sizeparameter = 'taille drapeau',
numval = 1,
}
end
function p.sign(upright)
return {
type = 'images',
imageparameters = {'signalisation'},
-- defaultimage = {},
-- maintenancecat =
captionparameter = 'légende signalisation',
property = 'P14',
defaultupright = upright or '0.4',
uprightparameter = 'upright signalisation',
sizeparameter = 'taille signalisation',
numval = 1,
}
end
function p.bathymetricmap(upright)
return {
type = 'images',
imageparameters = {'carte bathymétrique'},
-- defaultimage = {},
-- maintenancecat =
captionparameter = 'légende carte bathymétrique',
property = 'P207',
defaultupright = upright or '1',
uprightparameter = 'upright carte bathymétrique',
sizeparameter = 'taille carte bathymétrique',
numval = 1,
}
end
-- Liens externes
function p.website(localparam) -- texte libre [http://example.org example.org] ou url seule localparam est désigne le paramètre utilisé historiquement dans le modèle pour le site web (legacy)
return {
type = 'mixed',
label = 'Site web',
plurallabel = 'Sites web',
wikidata = function()
local values, num = wikidata.formatAndCat {
entity = localdata.item,
displayformat = 'weblink',
conjtype = '<br />',
property = 'P856',
isinlang = 'fr',
rank = 'valid',
excludespecial = true, -- excludespecial car il peut y avoir marqué "aucune valeur" pour le français, mais y avoir un site en anglais
returnnumberofvalues = true,
}
if not values then
values, num = wikidata.formatAndCat {
entity = localdata.item,
displayformat = 'weblink',
conjtype = '<br />',
property = 'P856',
showlang = true,
excludespecial = true,
returnnumberofvalues = true,
}
end
return values, num
end,
value =
function()
local siteurl = localdata[localparam] or localdata['site web'] or localdata['site_web'] or localdata['site officiel']
local sitename = localdata['nom site']
return require("Module:Weblink").makelink(siteurl, sitename)
end,
}
end
-- Fonctions de géolocalisation
function p.country(default)
local coordfunctions = coordfunctions or require 'Module:Infobox/Fonctions/Géolocalisation'
return coordfunctions.country(default)
end
function p.geoloc(params)
local coordfunctions = coordfunctions or require 'Module:Infobox/Fonctions/Géolocalisation'
return coordfunctions.geoloc(params)
end
function p.coordinates(params)
local coordfunctions = coordfunctions or require 'Module:Infobox/Fonctions/Géolocalisation'
return coordfunctions.coordinates(params)
end
function p.locationmap(params)
local coordfunctions = coordfunctions or require 'Module:Infobox/Fonctions/Géolocalisation'
return coordfunctions.locationmap(params)
end
return p