Module:Infobox/Monument : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
(+ hauteur par Wikidata)
(+ marker et default_zoom)
 
(4 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
local building = require "Module:Infobox/Fonctions/Bâtiment"
 
local building = require "Module:Infobox/Fonctions/Bâtiment"
 
local general = require "Module:Infobox/Fonctions"
 
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  
 
return  
 
{
 
{
maincolor = '#E6E3CF',
+
maincolor = displayfrmat[3],
 +
secondcolor = displayfrmat[4],
 +
thirdcolor = displayfrmat[5],
 
parts =
 
parts =
 
     {
 
     {
general.title(nil, nil, 'nom local', nil),
+
general.title(displayfrmat[2], nil, 'nom local', nil),
 
general.logo(),
 
general.logo(),
 
building.mainimage(),
 
building.mainimage(),
Ligne 15 : Ligne 59 :
 
{type = 'row', label = 'Nom complet', value = 'nom complet'},
 
{type = 'row', label = 'Nom complet', value = 'nom complet'},
 
{type = 'row', label = 'Culte', value = 'culte'},
 
{type = 'row', label = 'Culte', value = 'culte'},
{type = 'row', label = 'Type', value = 'type'}, --property = 'P31'},
+
{type = 'row', label = 'Type', value = 'type', property = 'P31'},
 
{type = 'row', label = 'Rattachement', value = 'rattachement'},
 
{type = 'row', label = 'Rattachement', value = 'rattachement'},
 
building.archistyle(),
 
building.archistyle(),
Ligne 26 : Ligne 70 :
 
{type = 'row', label = 'Commanditaire', value = 'commanditaire', property = 'P88'},
 
{type = 'row', label = 'Commanditaire', value = 'commanditaire', property = 'P88'},
 
{type = 'row', label = 'Hauteur', value = 'hauteur', wikidata = {property = 'P2048', targetunit = 'm'}},
 
{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 initiale', value = 'destination initiale'},
 
{type = 'row', label = 'Destination actuelle', value = 'destination actuelle'},
 
{type = 'row', label = 'Destination actuelle', value = 'destination actuelle'},
Ligne 48 : Ligne 95 :
 
}
 
}
 
},
 
},
building.geoloc(),
+
general.geoloc({marker='monument', default_zoom=16}),
 
}
 
}
 
}
 
}

Version actuelle datée du 20 mai 2017 à 09:23

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}),
	}
}