Module:Infobox/Fonctions : Différence entre versions
m |
|||
(75 révisions intermédiaires par 8 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
-- Fonctions communes à diverses infobox | -- Fonctions communes à diverses infobox | ||
− | local wikidata = require('Module:Wikidata') | + | local localdata = require( 'Module:Infobox/Localdata' ) |
− | local | + | 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. | + | function p.flag(upright) |
return { | 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 | end | ||
− | function p. | + | function p.sign(upright) |
return { | return { | ||
type = 'images', | type = 'images', | ||
− | imageparameters = {' | + | imageparameters = {'signalisation'}, |
− | + | -- defaultimage = {}, | |
− | + | -- maintenancecat = | |
− | + | captionparameter = 'légende signalisation', | |
− | + | property = 'P14', | |
− | + | defaultupright = upright or '0.4', | |
− | + | uprightparameter = 'upright signalisation', | |
− | + | sizeparameter = 'taille signalisation', | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
numval = 1, | numval = 1, | ||
} | } | ||
end | 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 | -- 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 | ||
+ | |||
+ | -- 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 | 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