Module:Infobox/Fonctions : Différence entre versions
(pour quand le paramètre a pour nom description dans le modèle que l’on veut passer à lua (si quelqu’un sait comment rajouter la possibilité de choisir un autre paramètre directement dans le module de l’infobox…)) |
m |
||
(19 révisions intermédiaires par 5 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
-- Fonctions communes à diverses infobox | -- Fonctions communes à diverses infobox | ||
− | local wikidata = require 'Module:Interface Wikidata'.fromLua | + | local localdata = require( 'Module:Infobox/Localdata' ) |
− | local coordfunctions = require 'Module:Infobox/Fonctions/Géolocalisation' | + | local wikidata = require( 'Module:Interface Wikidata' ).fromLua |
− | + | local coordfunctions -- = require 'Module:Infobox/Fonctions/Géolocalisation' | |
local p = {} | local p = {} | ||
function p.title(icon, style, subtitleparam, subtitlequery) | function p.title(icon, style, subtitleparam, subtitlequery) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
return { | 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 | end | ||
− | function p.mainimage(cat, defaultimage | + | 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 = | + | 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'}, | |
− | |||
− | |||
− | captionparameter = 'légende' or ' | ||
− | |||
− | property = 'P18', | ||
numval = 1, | numval = 1, | ||
} | } | ||
Ligne 63 : | Ligne 54 : | ||
uprightparameter = 'upright logo', | uprightparameter = 'upright logo', | ||
sizeparameter = 'taille 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, | numval = 1, | ||
} | } | ||
Ligne 68 : | Ligne 119 : | ||
-- Liens externes | -- Liens externes | ||
− | function p.website() --texte libre [http://example.org example.org] ou url seule | + | function p.website() -- texte libre [http://example.org example.org] ou url seule |
− | |||
− | |||
− | |||
return { | return { | ||
− | + | type = 'mixed', | |
− | + | label = 'Site web', | |
− | + | plurallabel = 'Sites web', | |
− | + | wikidata = {entity = localdata.item, 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 | end | ||
− | -- | + | -- Fonctions de géolocalisation |
function p.country(default) | function p.country(default) | ||
− | return coordfunctions.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 | end | ||
return p | return p |
Version actuelle datée du 31 octobre 2016 à 16:27
La documentation pour ce module peut être créée à Module:Infobox/Fonctions/doc
-- Fonctions communes à diverses infobox local localdata = require( 'Module:Infobox/Localdata' ) local wikidata = require( 'Module:Interface Wikidata' ).fromLua 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', 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() -- texte libre [http://example.org example.org] ou url seule return { type = 'mixed', label = 'Site web', plurallabel = 'Sites web', wikidata = {entity = localdata.item, 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 -- 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