Module:Infobox/Monument
La documentation pour ce module peut être créée à Module:Infobox/Monument/doc
local building = require "Module:Infobox/Fonctions/Bâtiment" local general = require "Module:Infobox/Fonctions" local localdata = require "Module:Infobox/Localdata" local wd = require "Module:Interface Wikidata".fromLua local formats = { --{valeur wikidata, icône, couleur titre, couleur sous-titre, couleur texte) {'Q751876', 'entete chateau','#00507f', '#ffffff', '#000000', 'defaut'}, --château } local function wdformat() --retourne une table contenant la couleur principale de l'infobox et l'icône de titre local wtypes = wd.stringTable{ -- récupère les Qid des professions entity = localdata.item, property = 'P31', displayformat = 'raw', excludespecial = true } local defaultformat = {'Q', '', '#E1E1E1', '#E1E1E1', '#000000', 'defaut'} if not wtypes or (#wtypes > 1) then -- si plusieurs occupations, on ne sait pas laquelle choisir return defaultformat end wtypes = wd.addVals(wtypes, {property = 'P279'}, 2) -- nombre d'étages de sous-classes à remonter for i, j in pairs(wtypes) do for k, l in pairs(formats) do if l[1] == j then return l end end end return defaultformat end local function setcharte() if localdata['charte'] then charte = localdata['charte'] for i, j in pairs(formats) do if j[2] == charte then return j end end end return wdformat() end local displayfrmat = setcharte() return { maincolor = displayfrmat[3], secondcolor = displayfrmat[4], thirdcolor = displayfrmat[5], parts = { general.title(displayfrmat[2], nil, 'nom local', nil), general.logo(), building.mainimage(), {type = 'table', title = 'Présentation', rows = { {type = 'row', label = 'Noms précédents', value = 'noms précédents'}, {type = 'row', label = 'Surnom(s)', value = 'surnom'}, {type = 'row', label = 'Nom complet', value = 'nom complet'}, {type = 'row', label = 'Culte', value = 'culte'}, {type = 'row', label = 'Type', value = 'type', property = 'P31'}, {type = 'row', label = 'Rattachement', value = 'rattachement'}, building.archistyle(), building.creator(), building.material(), building.construction(), building.opening(), building.renovation(), building.demolition(), {type = 'row', label = 'Commanditaire', value = 'commanditaire', property = 'P88'}, {type = 'row', label = 'Hauteur', value = 'hauteur', wikidata = {property = 'P2048', targetunit = 'm'}}, {type = 'row', label = 'Largeur', value = 'largeur', wikidata = {property = 'P2049', targetunit = 'm'}}, {type = 'row', label = 'Longueur', value = 'longueur', wikidata = {property = 'P2043', targetunit = 'm'}}, {type = 'row', label = 'Envergure', value = 'envergure', wikidata = {property = 'P2050', targetunit = 'm'}}, {type = 'row', label = 'Destination initiale', value = 'destination initiale'}, {type = 'row', label = 'Destination actuelle', value = 'destination actuelle'}, building.owner(), building.operator(), building.protection(), building.website(), } }, {type = 'table', title = 'Géographie', rows = { building.country(), building.historicalregion(), building.adminlocation(), } }, {type = 'table', title = 'Accès et transport', rows = { building.transport(), }, }, {type = 'table', title = 'Localisation', rows = { building.coordinates(), } }, general.geoloc({marker='monument', default_zoom=16}), } }