Module:Infobox/Fonctions : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
(p.mainimage : possibilité de définir une autre requête Wikidata)
(retouche mainimage pour gérer plus de parmètres, de façon flexible (possibilité d'une table en paramètre), ajout de altparameter et alt)
Ligne 16 : Ligne 16 :
 
end
 
end
  
function p.mainimage(cat, defaultimage, size, upright, wdquery)
+
function p.mainimage(args, defaultimage)
 +
if type( args ) ~= 'table' then
 +
args = { cat = args, defaultimage = defaultimage }
 +
end
 
return {
 
return {
 
type = 'images',
 
type = 'images',
 
imageparameters =  {'image'},
 
imageparameters =  {'image'},
defaultimages = defaultimage,
+
defaultimages = args.defaultimage,
 
defaultimagelink = 'Aide:Insérer une image',
 
defaultimagelink = 'Aide:Insérer une image',
 
sizeparameter = 'taille image',
 
sizeparameter = 'taille image',
 
uprightparameter = 'upright',
 
uprightparameter = 'upright',
defaultupright = upright,
+
defaultupright = args.upright,
defaultsize = size,
+
defaultsize = args.size,
maintenancecat = function() return cat or 'Article à illustrer' end,
+
maintenancecat = args.cat or 'Article à illustrer',
 
captionparameter = 'légende',
 
captionparameter = 'légende',
defaultcaption = function() return defaultcaption end,
+
altparameter = args.altparameter or 'alternative image',
wikidata = wdquery or {property = 'P18'},
+
defaultalt = args.alt,
 +
defaultimagealt = args.defaultimagealt,
 +
wikidata = args.wikidata or {property = 'P18'},
 
numval = 1,
 
numval = 1,
 
}
 
}

Version du 12 septembre 2016 à 02:16

La documentation pour ce module peut être créée à Module:Infobox/Fonctions/doc

-- Fonctions communes à diverses infobox
local wikidata = require 'Module:Interface Wikidata'.fromLua
local coordfunctions = require 'Module:Infobox/Fonctions/Géolocalisation'
local linguistic = require "Module:Linguistique"
local p = {}

function p.title(icon, style, subtitleparam, subtitlequery)
	return {
			type = 'title',
			value = function() return localdata['nom'] or linguistic.ucfirst(wikidata.getLabel(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',
		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

-- Liens externes
function p.website() --texte libre [http://example.org example.org] ou url seule
	return { 
            type = 'mixed',
            label = 'Site web', 
            plurallabel = 'Sites web',
            wikidata = {entity = item, claims = claims, displayformat = 'weblink', conjtype = '<br />', property = 'P856'},
            value =
            	function()
            	local siteurl = 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

-- Fonctins de géolocalisation
function p.country(default)
	return coordfunctions.country(default)	
end

function p.geoloc(params)
	return coordfunctions.geoloc(params)	
end

function p.coordinates(params)
	return coordfunctions.coordinates(params)
end

function p.locationmap(params)
	return coordfunctions.locationmap(params)	
end

return p