« Module:Biblio » : différence entre les versions
Contenu supprimé Contenu ajouté
Correction de bugs ; responsabiliteSecondaire : ajout postface |
COinS : réécriture |
||
Ligne 232 :
end
-- voir Modèle:COinS bibliographique
function Biblio.COinS ( frame )
local args = extractArgs ( frame )
local fields = { ▼
chapitre = { 'book', { '.genre=', 'bookitem' }, { 'btitle', 'titre'}, { 'atitle', 'titre section' } },▼
article = { 'journal', { 'genre', 'article' }, { 'atitle', 'titre'}, { 'jtitle', 'périodique' } },▼
ouvrage = { 'book', { 'genre', 'bookitem' }, { 'btitle', 'titre'}, { 'atitle', 'titre section' } },▼
{ '.volume=', 'volume' },▼
{ '.pages=' , 'pages' },▼
{ '.spage=', 'page début' },▼
{ '.tpages=', 'pages totales' },▼
{ '.place=', 'lieu' },▼
{ '.pub=', 'éditeur' },▼
{ '.edition=' , 'édition' },▼
{ '.issn=', 'issn' },▼
wikipedia = { '_id=info:sid/fr.wikipedia.org:', mw.title.getCurrentTitle().fullText }▼
}▼
local liste = { }
-- la fonction insert liste ajoute à la table 'liste' un couple 'nom Coins normalisé' - '
-- Si istexte = true, le deuxième élément de tab est considéré comme du texte,
-- sinon comme le nom d'un paramètre.
local function insertList (
if
param = tab[2]▼
else▼
param = args [ tab[2] ] or ''▼
end▼
if param ~= '' then▼
▲ table.insert ( liste, tab[1] .. mw.uri.encode ( param ) )
return true
end
end
-- norme du COinS
-- genre, titre et sous-titre
▲ chapitre = { 'book
▲ article = { 'journal
▲ ouvrage = { 'book',
▲ }
local genre = fields [ args.genre ]
if not genre then
return ''
end
insertList ( 'rft.genre', genre [2]
insertList ( genre [3], args.titre )
insertList ( genre [4], args [ genre [5] ] )
insertList (
-- liste des auteur, noms - prénoms
if insertList ( 'rft.aulast', args.nom1 ) then
insertList ( 'rft.aufirst', args [ 'prénom1' ] )
end▼
insertList ( 'rft.au', args.auteur )
for i = 1, 10 do
if nom == nil
▲ else
prenom = ', ' .. prenom
▲ end
insertList ( 'rft.au', nom .. prenom )
end
end
-- date
local datePub = Date.dateISO { args [ '
if datePub then
else
insertList
end
▲ insertList ( datePub )
-- doonée phisique de la publication
insertList (
▲ end
-- donnée sur l'éditeur
--
insertList (
insertList ( 'rft_id', args.doi, 'info:doi/' )
insertList ( 'rft_id', args.pmid, 'info:pmid/' )
insertList ( 'rft_id', args.oclc, 'info:oclcnum/' )
insertList ( 'rft_id', args.url )
-- referer : page Wikipedia ou se trouve cette référence
wikiText = wikiText .. table.concat ( liste, '&rft') .. '"> </span>'▼
▲ insertList (
▲
end
|