Module:Infobox/Fonctions/Personne : Différence entre versions
< Module:Infobox | Fonctions
Ligne 2 : | Ligne 2 : | ||
local p = {} | local p = {} | ||
local wikidata = require('Module:Wikidata') | local wikidata = require('Module:Wikidata') | ||
− | local general = require('Module:Infobox/Fonctions') | + | local general = require('Module:Infobox/Fonctions/Génériques') |
local d = require('Module:Wikidata/Dates') | local d = require('Module:Wikidata/Dates') | ||
Ligne 15 : | Ligne 15 : | ||
end | end | ||
− | -- = | + | --Titre |
+ | function p.title() | ||
+ | local class = 'entete icon humain' -- | ||
+ | return general.title() | ||
+ | end | ||
+ | |||
+ | --Image | ||
function p.mainimage() | function p.mainimage() | ||
return general.mainimage() | return general.mainimage() | ||
end | end | ||
− | + | --Naissance, décès | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
function p.birth() -- date de naissance en première ligne, lieu de naissance en deuxième | function p.birth() -- date de naissance en première ligne, lieu de naissance en deuxième | ||
return { | return { | ||
Ligne 70 : | Ligne 64 : | ||
} | } | ||
end | end | ||
− | -- | + | -- Influences |
function p.influencedby() | function p.influencedby() | ||
return { | return { | ||
Ligne 87 : | Ligne 81 : | ||
property = 'p738', | property = 'p738', | ||
} | } | ||
+ | end | ||
+ | |||
+ | -- Signature | ||
+ | function p.signature(default) | ||
+ | return { | ||
+ | type = 'images', | ||
+ | imageparameters = {'signature'}, | ||
+ | defaultimage = {default}, | ||
+ | captionparameter = 'légende signature', | ||
+ | defaultcaption = 'signature', | ||
+ | defaultcaption = function() return defaultcaption end, | ||
+ | wikidata = function() return wikidata.formatStatements({property = 'p109', first = 'true', returntype = 'table'}) end, -- Wikidata uniquement pour les images, pas la légende | ||
+ | } | ||
end | end | ||
Version du 22 septembre 2014 à 16:55
La documentation pour ce module peut être créée à Module:Infobox/Fonctions/Personne/doc
-- Functions utilisées par les infobox personnes local p = {} local wikidata = require('Module:Wikidata') local general = require('Module:Infobox/Fonctions/Génériques') local d = require('Module:Wikidata/Dates') -- ========== Fonctions d'aide ==================================== local function dateandplace(thedate, theplace) if thedate and theplace then return thedate .. '<br />' .. theplace else return thedate or theplace --retourne tout ce qu'il trouve end end --Titre function p.title() local class = 'entete icon humain' -- return general.title() end --Image function p.mainimage() return general.mainimage() end --Naissance, décès function p.birth() -- date de naissance en première ligne, lieu de naissance en deuxième return { type = 'mixed', label = 'Naissance', value = function(localdata, item) local thedate = localdata['naissance'] or localdata['date de naissance'] or wikidata._formatStatements({property= 'p569', rank = 'best', conjunction= ' ou '}) local theplace = localdata['lieu de naissance'] or wikidata._formatStatements({property= 'p19', rank = 'best', conjunction= ' ou '}) return dateandplace(thedate, theplace) end } end function p.death() -- même fonctionnement que la fonction p.birth return { type = 'mixed', label = 'Décès', value = function(localdata, item) local thedate = localdata['décès'] or localdata['date de décès'] or wikidata._formatStatements({property= 'p570', rank = 'best', conjunction= ' ou '}) local theplace = localdata['lieu de décès'] or wikidata._formatStatements({property= 'p20', rank = 'best', conjunction= ' ou '}) return dateandplace(thedate, theplace) end } end function p.nationality() --pour l'instant, ne retourne que la valeur donné par le paramètre nationalité, ou, à defaut, la propriété p570 de Wikidata, à retravailler pour le formatage. return { type = 'mixed', label = 'Nationalité', value = 'nationalité', wikidata = dateandplace( wikidata._formatStatements({property= 'p570', rank = 'best', conjunction= ' ou '}), wikidata._formatStatements({property= 'p20', rank = 'best', conjunction= ' ou '}) ), } end -- Influences function p.influencedby() return { type = 'mixed', label = 'Influencé par', value = 'influencé par', property = 'p737', } end function p.influenced() return { type = 'mixed', label = 'A influencé', value = 'a influencé', property = 'p738', } end -- Signature function p.signature(default) return { type = 'images', imageparameters = {'signature'}, defaultimage = {default}, captionparameter = 'légende signature', defaultcaption = 'signature', defaultcaption = function() return defaultcaption end, wikidata = function() return wikidata.formatStatements({property = 'p109', first = 'true', returntype = 'table'}) end, -- Wikidata uniquement pour les images, pas la légende } end --== Site web function p.website() return p.website() end return p