Module:Infobox/Infobox universelle
Cette page définit un module d'infobox. Pour les conseils sur l'usage de ce module, voyez Modèle:Infobox .
Utilisation
Fonctions exportables :
main(frame)– détermine le module d'infobox à appeler, en fonction de l'élément Wikidata dont on génère l'infoboxtemplateName(frame)– nom du modèle d'infobox correspondant, en distinguant les utilisations du module monument "par défaut" ou parce que l'élément est un monument.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local p = {}
local isInstance = require( 'Module:Wikidata' ).isInstance
local function choosetype(item)
local infoboxtype = "Monument par défaut" -- à l'origine considérée plus ou moins passe partout
if isInstance("Q5", item, 0) or isInstance("Q21070598", item, 10) then -- "être humain" ou "personnage peut-être fictionnel"
infoboxtype = "Biographie"
elseif isInstance("Q11908691", item, 6) then --"structure physique artificielle"
infoboxtype = "Monument"
elseif isInstance("Q15324", item, 4) then --"étendue d'eau"
infoboxtype = "Plan d'eau"
elseif isInstance("Q56061", item, 3) or isInstance("Q123964505", item, 5) then -- "entité territoriale administrative" ou "lieu habité"
infoboxtype = "Localité"
elseif isInstance("Q47461344", item, 3) then
infoboxtype = "Ouvrage"
elseif isInstance("Q43229", item, 5) then
infoboxtype = "Organisation"
elseif isInstance("Q11460", item, 5) then
infoboxtype = "Vêtement"
elseif isInstance("Q116474095", item, 3) then -- "type d'œuvre d'art"
infoboxtype = "Art"
end
return infoboxtype
end
function p.main(frame)
local item = frame.args[1]
local infoboxtype = choosetype(item)
local modulename = (infoboxtype == "Monument par défaut") and "Monument" or infoboxtype
return modulename
end
local templateNameList = {
["Monument"] = "Monument",
["Monument par défaut"] = "Monument par défaut",
["Biographie"] = "Biographie2",
["Plan d'eau"] = "Plan d'eau",
["Localité"] = "Localité",
["Ouvrage"] = "Ouvrage",
["Organisation"] = "Organisation2",
["Vêtement"] = "Vêtement",
["Art"] = "Art"
}
function p.templateName(frame)
local item = frame.args[1]
local infoboxtype = choosetype(item)
local templatename = templateNameList[infoboxtype]
return templatename
end
return p