Différences entre versions de « Module:Pape »
Sauter à la navigation
Sauter à la recherche
(7 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 11 : | Ligne 11 : | ||
["Titre"] = 'Adrien IV' , | ["Titre"] = 'Adrien IV' , | ||
["Image"] = 'http://commons.wikimedia.org/wiki/Special:FilePath/Pope%20Hadrian%20IV.jpg' , | ["Image"] = 'http://commons.wikimedia.org/wiki/Special:FilePath/Pope%20Hadrian%20IV.jpg' , | ||
+ | ["Légende de l'image"] = "Adrien IV" , | ||
['Nom de naissance'] = 'Nicolas Breakspear' , | ['Nom de naissance'] = 'Nicolas Breakspear' , | ||
['Lieu de naissance'] = 'Abbots Langley' , | ['Lieu de naissance'] = 'Abbots Langley' , | ||
Ligne 48 : | Ligne 49 : | ||
local dateFormat = "d M Y" | local dateFormat = "d M Y" | ||
+ | local taglang ='fr' | ||
local subject = f.args.iri or linkedwiki.getCurrentIRI(); | local subject = f.args.iri or linkedwiki.getCurrentIRI(); | ||
Ligne 63 : | Ligne 65 : | ||
if not linkedwiki.isEmpty(f.args['Image']) then | if not linkedwiki.isEmpty(f.args['Image']) then | ||
mw.log(object:addPropertyWithIri(rp..'picture',f.args["Image"])) | mw.log(object:addPropertyWithIri(rp..'picture',f.args["Image"])) | ||
+ | end | ||
+ | if not linkedwiki.isEmpty(f.args["Légende de l'image"]) then | ||
+ | mw.log(object:addPropertyString(rp..'pictureLegend',f.args["Légende de l'image"])) | ||
end | end | ||
Ligne 106 : | Ligne 111 : | ||
if not linkedwiki.isEmpty(f.args['Wikidata ID']) then | if not linkedwiki.isEmpty(f.args['Wikidata ID']) then | ||
local idConfigWikidata ='http://www.wikidata.org' | local idConfigWikidata ='http://www.wikidata.org' | ||
− | |||
iriWikidata = wd .. f.args['Wikidata ID'] | iriWikidata = wd .. f.args['Wikidata ID'] | ||
objWikidata = linkedwiki.new(iriWikidata,idConfigWikidata,taglang) | objWikidata = linkedwiki.new(iriWikidata,idConfigWikidata,taglang) | ||
Ligne 150 : | Ligne 154 : | ||
} ) | } ) | ||
− | -- | + | --objWikidataImageStatement:setDebug(true) |
+ | if not linkedwiki.isEmpty(f.args['Wikidata ID']) then | ||
+ | infobox:addImage( | ||
+ | objWikidataImageStatement:checkImage(ps..'P18',f.args["Image"]), | ||
+ | objWikidataImageStatement:checkString(pq..'P2096',f.args["Légende de l'image"],taglang), -- LEGENDE DE L'IMAGE | ||
+ | "infobox" -- CLASS CSS POUR CONTROLER LA TAILLE DE L'IMAGE voir la classe dans la page https://gregorius.dsi.universite-paris-saclay.fr/wiki/MediaWiki:Common.css | ||
+ | ) | ||
+ | else | ||
+ | infobox:addImage( f.args["Image"]) | ||
+ | end | ||
+ | |||
+ | infobox:addHeader( "Biographie","infoboxPapeHeaderRow" ) | ||
if not linkedwiki.isEmpty(f.args['Wikidata ID']) then | if not linkedwiki.isEmpty(f.args['Wikidata ID']) then | ||
− | |||
infobox:addRow('Nom de naissance',objWikidata:checkString(wdt.."P1477",f.args['Nom de naissance'])) | infobox:addRow('Nom de naissance',objWikidata:checkString(wdt.."P1477",f.args['Nom de naissance'])) | ||
infobox:addRow('Lieu de naissance',objWikidataLieuNaissance:checkString(rdfs.."label",f.args['Lieu de naissance'])) | infobox:addRow('Lieu de naissance',objWikidataLieuNaissance:checkString(rdfs.."label",f.args['Lieu de naissance'])) | ||
Ligne 159 : | Ligne 173 : | ||
infobox:addRow('Date de décès', objWikidata:checkDate(wdt.."P570",f.args['Date de décès'],dateFormat)) | infobox:addRow('Date de décès', objWikidata:checkDate(wdt.."P570",f.args['Date de décès'],dateFormat)) | ||
else | else | ||
− | |||
infobox:addRow('Nom de naissance',f.args['Nom de naissance']) | infobox:addRow('Nom de naissance',f.args['Nom de naissance']) | ||
infobox:addRow('Lieu de naissance',f.args['Lieu de naissance']) | infobox:addRow('Lieu de naissance',f.args['Lieu de naissance']) | ||
Ligne 167 : | Ligne 180 : | ||
end | end | ||
+ | infobox:addHeader( "Pape de l'église catholique","infoboxPapeHeaderRow" ) | ||
if not linkedwiki.isEmpty(f.args['Wikidata ID']) then | if not linkedwiki.isEmpty(f.args['Wikidata ID']) then | ||
infobox:addRow('Élection au pontificat', f.args['Election au pontificat']) | infobox:addRow('Élection au pontificat', f.args['Election au pontificat']) |
Version actuelle datée du 21 novembre 2021 à 11:00
Utilisation
Cette infobox a pour fonction de pouvoir afficher et associer des données à propos des papes.
Exemple d'utilisation
{{#invoke:Pape|infobox | Wikidata ID = Q132845 | Bnf ID = | Titre = Adrien IV | Image = http://commons.wikimedia.org/wiki/Special:FilePath/Pope%20Hadrian%20IV.jpg | Nom de naissance = Nicolas Breakspear | Date de naissance = 1100-01-01 | Naissance précision (années) = 10 | Lieu de naissance = Abbots Langley | Date de décès = 1159-09-01 | Lieu de décès = Anagni | Election au pontificat = 1154-12-04 | Intronisation = 1154-12-05 | Fin du pontificat = 1159-09-01 }}
Paramétres
Wikidata ID
: QXXXXXBnf ID
:Titre
:Image
:Nom de naissance
:Date de naissance
: YYYY-MM-DDNaissance précision (années)
: entierLieu de naissance
:Date de décès
: YYYY-MM-DDLieu de décès
: YYYY-MM-DDElection au pontificat
: YYYY-MM-DDIntronisation
: YYYY-MM-DDFin du pontificat
: YYYY-MM-DD
--[[
-- Debug console
frame = mw.getCurrentFrame() -- Get a frame object
newFrame = frame:newChild{ -- Get one with args
title = 'Adrien IV' ,
args = {
iri = 'https://gregorius.dsi.universite-paris-saclay.fr/wiki/Adrien_IV' ,
["Wikidata ID"] = 'Q132845' ,
["Bnf ID"] = '' ,
["Titre"] = 'Adrien IV' ,
["Image"] = 'http://commons.wikimedia.org/wiki/Special:FilePath/Pope%20Hadrian%20IV.jpg' ,
["Légende de l'image"] = "Adrien IV" ,
['Nom de naissance'] = 'Nicolas Breakspear' ,
['Lieu de naissance'] = 'Abbots Langley' ,
['Date de naissance'] = '1159-09-01' ,
['Naissance précision (années)'] = '10' ,
['Lieu de décès'] = 'Anagni' ,
['Date de décès'] = '1159-09-01' ,
['Election au pontificat'] = '1154-12-04' ,
['Intronisation'] = '1154-12-05' ,
['Fin du pontificat'] = '1159-09-01'
}
}
mw.log(p.infobox( newFrame ) )
]]
local p = {}
function p.infobox(f)
local capiunto = require 'capiunto'
local linkedwiki = require 'linkedwiki'
linkedwiki.setCurrentFrame(mw.getCurrentFrame())
local rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'
local rdfs = 'http://www.w3.org/2000/01/rdf-schema#'
local ri = 'http://gregorius.dsi.universite-paris-saclay.fr/wiki/'
local rp = 'http://gregorius.dsi.universite-paris-saclay.fr/wiki/Property:'
local geo = 'http://www.w3.org/2003/01/geo/wgs84_pos#'
local vcard = 'http://www.w3.org/2006/vcard/ns#'
local xsd = 'http://www.w3.org/2001/XMLSchema#'
local wdt = 'http://www.wikidata.org/prop/direct/'
local wd = 'http://www.wikidata.org/entity/'
local bnf = 'http://www.data.bnf.fr/'
local p = 'http://www.wikidata.org/prop/'
local pq = 'http://www.wikidata.org/prop/qualifier/'
local ps = 'http://www.wikidata.org/prop/statement/'
local dateFormat = "d M Y"
local taglang ='fr'
local subject = f.args.iri or linkedwiki.getCurrentIRI();
local subject = linkedwiki.getCurrentIRI(); -- read the iri of the current page
local object = linkedwiki.new(subject)
--object:setDebug(true)
object:removeSubject() -- delete all triples of this subject
mw.log(object:addPropertyWithIri(rdf..'type',ri..'Pape'))
if not linkedwiki.isEmpty(f.args['Titre']) then
mw.log(object:addPropertyString(rdfs..'label',f.args["Titre"] ))
end
if not linkedwiki.isEmpty(f.args['Image']) then
mw.log(object:addPropertyWithIri(rp..'picture',f.args["Image"]))
end
if not linkedwiki.isEmpty(f.args["Légende de l'image"]) then
mw.log(object:addPropertyString(rp..'pictureLegend',f.args["Légende de l'image"]))
end
if not linkedwiki.isEmpty(f.args['Nom de naissance']) then
mw.log(object:addProperty(rp..'nomDeNaissance',f.args['Nom de naissance']))
end
if not linkedwiki.isEmpty(f.args['Date de naissance']) then
mw.log(object:addProperty(rp..'naissance',f.args['Date de naissance'] ,xsd..'date',''))
end
if not linkedwiki.isEmpty(f.args['Naissance précision (années)']) then
mw.log(object:addProperty(rp..'naissancePrecision',f.args['Naissance précision (années)'],xsd..'integer',''))
end
if not linkedwiki.isEmpty(f.args['Lieu de naissance']) then
mw.log(object:addPropertyString(rp..'lieuDeNaissance',f.args['Lieu de naissance']))
end
if not linkedwiki.isEmpty(f.args['Date de décès']) then
mw.log(object:addProperty(rp..'deces',f.args['Date de décès'],xsd..'date',''))
end
if not linkedwiki.isEmpty(f.args['Lieu de décès']) then
mw.log(object:addPropertyString(rp..'lieuDeDeces',f.args['Lieu de décès']))
end
if not linkedwiki.isEmpty(f.args['Election au pontificat']) then
mw.log(object:addProperty(rp..'electionAuPontificat',f.args['Election au pontificat'],xsd..'date',''))
end
if not linkedwiki.isEmpty(f.args['Intronisation']) then
mw.log(object:addProperty(rp..'intronisation',f.args['Intronisation'],xsd..'date',''))
end
if not linkedwiki.isEmpty(f.args['Fin du pontificat']) then
mw.log(object:addProperty(rp..'finDuPontificat',f.args['Fin du pontificat'],xsd..'date',''))
end
--compare data with wikidata
local iriWikidata = ""
local objWikidata = nil
local objWikidataLieuNaissance = nil
local objWikidataLieuDeces = nil
local objWikidataImageStatement = nil
local objPapeFonction = nil
local linkWikidata = ""
local topWikidata = ""
if not linkedwiki.isEmpty(f.args['Wikidata ID']) then
local idConfigWikidata ='http://www.wikidata.org'
iriWikidata = wd .. f.args['Wikidata ID']
objWikidata = linkedwiki.new(iriWikidata,idConfigWikidata,taglang)
mw.log(object:addPropertyWithIri(rp..'WikidataID',iriWikidata))
objWikidataLieuNaissance = linkedwiki.new(objWikidata:getValue(wdt..'P19'),idConfigWikidata,taglang)
objWikidataLieuDeces = linkedwiki.new(objWikidata:getValue(wdt..'P20'),idConfigWikidata,taglang)
objWikidataImageStatement = linkedwiki.new(objWikidata:getValue(p..'P18'),idConfigWikidata,taglang)
listIri = linkedwiki.explode(";", objWikidata:getValue(p..'P39'))
objPapeFonction = nil
for i, iri in ipairs(listIri) do
objPapeFonction = linkedwiki.new(iri,idConfigWikidata,taglang)
if objPapeFonction:getValue(ps..'P39') == wd .."Q19546" then
break
end
end
linkWikidata ='['..iriWikidata..' '..f.args['Wikidata ID']..']'
topWikidata = objWikidata:checkString(rdfs..'label',f.args.Title)
end
local iriBNF =""
local objBnf = nil
local linkBNF =""
if not linkedwiki.isEmpty(f.args['Bnf ID']) then
iriBNF = bnf .. f.args['Bnf ID']
objBnf = linkedwiki.new(iriBNF,'http://data.bnf.fr',"fr")
mw.log(object:addPropertyWithIri(rp..'BnfID',iriBNF))
linkBNF = '['..iriBNF..' '..f.args['Bnf ID']..']'
end
local infobox = capiunto.create( {
bodyStyle = 'width : 50px',
bodyClass = 'gregoriusPape',
title = 'Pape' ,
top = topWikidata ,
topStyle = 'background:#FFD200;height:50px;font-size: 25px;vertical-align:middle',
-- bottom =
} )
--objWikidataImageStatement:setDebug(true)
if not linkedwiki.isEmpty(f.args['Wikidata ID']) then
infobox:addImage(
objWikidataImageStatement:checkImage(ps..'P18',f.args["Image"]),
objWikidataImageStatement:checkString(pq..'P2096',f.args["Légende de l'image"],taglang), -- LEGENDE DE L'IMAGE
"infobox" -- CLASS CSS POUR CONTROLER LA TAILLE DE L'IMAGE voir la classe dans la page https://gregorius.dsi.universite-paris-saclay.fr/wiki/MediaWiki:Common.css
)
else
infobox:addImage( f.args["Image"])
end
infobox:addHeader( "Biographie","infoboxPapeHeaderRow" )
if not linkedwiki.isEmpty(f.args['Wikidata ID']) then
infobox:addRow('Nom de naissance',objWikidata:checkString(wdt.."P1477",f.args['Nom de naissance']))
infobox:addRow('Lieu de naissance',objWikidataLieuNaissance:checkString(rdfs.."label",f.args['Lieu de naissance']))
infobox:addRow('Naissance',objWikidata:checkDate(wdt.."P569",f.args['Date de naissance'],dateFormat))
infobox:addRow('Lieu de décès', objWikidataLieuDeces:checkString(rdfs.."label",f.args['Lieu de décès']))
infobox:addRow('Date de décès', objWikidata:checkDate(wdt.."P570",f.args['Date de décès'],dateFormat))
else
infobox:addRow('Nom de naissance',f.args['Nom de naissance'])
infobox:addRow('Lieu de naissance',f.args['Lieu de naissance'])
infobox:addRow('Naissance',f.args['Date de naissance'],dateFormat)
infobox:addRow('Lieu de décès',f.args['Lieu de décès'])
infobox:addRow('Date de décès', f.args['Date de décès'],dateFormat)
end
infobox:addHeader( "Pape de l'église catholique","infoboxPapeHeaderRow" )
if not linkedwiki.isEmpty(f.args['Wikidata ID']) then
infobox:addRow('Élection au pontificat', f.args['Election au pontificat'])
infobox:addRow('Intronisation', objPapeFonction:checkDate(pq.."P580",f.args['Intronisation'],dateFormat))
infobox:addRow('Fin du pontificat', objPapeFonction:checkDate(pq.."P582",f.args['Fin du pontificat'],dateFormat))
infobox:addRow('Source Wikidata', linkWikidata)
infobox:addRow('Source Bnf', linkBNF)
else
infobox:addRow('Élection au pontificat', f.args['Election au pontificat'])
infobox:addRow('Intronisation', f.args['Intronisation'])
infobox:addRow('Fin du pontificat', f.args['Fin du pontificat'])
infobox:addRow('Source Wikidata', linkWikidata)
infobox:addRow('Source Bnf', linkBNF)
end
infobox:addWikitext( "[[Catégorie:Pape]]" )
return infobox
end
return p