한국   대만   중국   일본 
Module:Biblio ? Wikipedia Aller au contenu

Module : Biblio

Cette page est protégée.
Une page de Wikipedia, l'encyclopedie libre.

 Documentation [ voir ] [ modifier ] [ historique ] [ purger ]

Ce module sert de base aux fonctions bibliographiques . Lorsqu'elles sont appelees directement par un modele (via #invoke), les parametres passes a ce modele sont automatiquement transmis au module, sauf si le modele specifie une autre valeur pour ce parametre.

Utilisation

Fonctions exportables :

  • ouvrage(frame) ? modele {{Ouvrage}}  ;
  • chapitre(frame) ? modele {{Chapitre}}  ;
  • article(frame) ? modele {{Article}}  ;
  • lienWeb(frame) ? modele {{Lien web}}  ;
  • lienBrise(frame) ? modele {{Lien brise}}  ;
  • dictionnaire(frame) ? appelle le modele chapitre si un parametre titre chapitre , article ou notice est non vide, sinon appelle le modele ouvrage ;
  • ISBN(frame) ? affiche en petit et entre parentheses ISBN suivi d'autant de codes que de parametres non nommes, avec lien a la page ad hoc ;
  • ISSN(frame) ? affiche en petit et entre parentheses ISSN suivi d'autant de codes que de parametres non nommes, avec lien a la page ad hoc ;
  • enLigne() ? similaire au modele {{Lire en ligne}} (le texte par defaut est ≪ en ligne ≫).

Modules externes et autres elements dont ce module a besoin pour fonctionner :

Exemples

Utilisation de la fonction ouvrage dans un modele pour afficher une reference :

  • {{#invoke:Biblio |ouvrage |auteur=Martine Michu |titre=Mes vacances a la mer}}
  • Martine Michu, Mes vacances a la mer

Une page utilisant ce modele avec le parametre ≪  passage = 28  ≫ affichera :

  • Martine Michu, Mes vacances a la mer , p.  28
-- Le module biblio centralise les differentes fonctions utiles pour les bibliographie et references.


local
 Biblio
 =
 {
  }


require
(
 'strict'
 )

local
 Outils
 =
 require
(
 'Module:Outils'
 )



Biblio
.
ouvrage
 =
 function
 (
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	local
 Ouvrage
 =
 require
(
 'Module:Biblio/Ouvrage'
 )

	return
 Ouvrage
.
ouvrage
(
 args
 )
 
end



Biblio
.
chapitre
 =
 function
 (
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	local
 Ouvrage
 =
 require
(
 'Module:Biblio/Ouvrage'
 )

	return
 Ouvrage
.
chapitre
(
 args
 )
 
end



Biblio
.
article
 =
 function
 (
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	local
 Ouvrage
 =
 require
(
 'Module:Biblio/Article'
 )

	return
 Ouvrage
.
article
(
 args
 )
 
end



Biblio
.
lienWeb
 =
 function
(
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	local
 Ouvrage
 =
 require
(
 'Module:Biblio/Lien web'
 )

	return
 Ouvrage
.
lienWeb
(
 args
 )
 
end


Biblio
.
lienBrise
 =
 function
(
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	local
 Ouvrage
 =
 require
(
 'Module:Biblio/Lien web'
 )

	return
 Ouvrage
.
lienBrise
(
 args
 )

end



Biblio
.
dictionnaire
 =
 function
(
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	local
 article
 =
 Outils
.
validTextArg
(
 args
,
 'notice'
,
 'article'
,
 'titre chapitre'
 )

	local
 Ouvrage
 =
 require
(
 'Module:Biblio/Ouvrage'
 )

	if
 article
 then

		args
[
'titre chapitre'
]
 =
 article

		return
 Ouvrage
.
chapitre
(
 args
 )
 
	else

		args
.
titre
 =
 args
[
'titre ouvrage'
]

		args
[
'sous-titre'
]
 =
 args
[
'sous-titre ouvrage'
]

		args
.
auteur1
 =
 args
[
'auteur ouvrage'
]

		args
.
auteurs
 =
 args
[
'auteurs ouvrage'
]

		return
 Ouvrage
.
ouvrage
(
 args
 )

	end

end


-- categorise une page en fonction du namespace

local
 function
 categorise
(
args
)

	local
 namespaceCategorisation
 =
 {
 [
0
]
 =
 true
,
 [
4
]
 =
 true
,
 [
10
]
 =
 true
,
 [
12
]
 =
 true
,
 [
14
]
 =
 true
,
 [
100
]
 =
 true
,
 [
104
]
 =
 true
 }

	local
 category
 =
 args
[
1
]

	local
 flag
 =
 args
[
2
]

	if
 type
(
category
)
 ==
 'string'

		and
 flag
 
		and
 namespaceCategorisation
[
 mw
.
title
.
getCurrentTitle
().
namespace
 ]

	then

		return
 '[[Category:'
 ..
 category
 ..
 ']]'

	end

	return
 ''

end


Biblio
.
ISBN
 =
 function
 (
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	if
 Outils
.
trim
(
 args
[
1
]
 )
 then

		local
 newArgs
 =
 {
 isbn
 =
 args
[
1
]
 }

		local
 i
 =
 2

		while
 args
[
i
]
 do

			newArgs
[
 'isbn'
 ..
 i
 ]
 =
 args
[
i
]

			i
 =
 i
 +
 1

		end

		return
 Biblio
.
identifiantsBiblio
(
 newArgs
 )

	else
 
		return
 '<small>([[International Standard Book Number|ISBN]]&nbsp;inconnu)</small>'
 ..
 categorise
{
 'ISBN necessaire'
,
 true
 }

	end

end


Biblio
.
rechercheIsbn
 =
 function
(
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	local
 References
 =
 require
(
 'Module:Biblio/References'
 )

	local
 newArgs
 =
 {
 isbn
 =
 args
[
1
],
 sansLabel
 =
 true
,
 categ
 =
 {}
 }

	local
 isbn
 =
 References
.
isbn
(
 newArgs
 )
 or
 ''

	local
 categ
 =
 categorise
{
 'Page avec ISBN invalide'
,
 newArgs
.
categ
.
isbnInvalid
 }

	return
 isbn
 ..
 categ

end



Biblio
.
EAN
 =
 function
 (
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	if
 Outils
.
trim
(
 args
[
1
]
 )
 then

		local
 newArgs
 =
 {
 ean
 =
 args
[
1
],
 categ
 =
 {}
 }

		local
 i
 =
 2

		while
 args
[
i
]
 do

			newArgs
[
 'ean'
 ..
 i
 ]
 =
 args
[
i
]

			i
 =
 i
 +
 1

		end

		return
 Biblio
.
identifiantsBiblio
(
 newArgs
 )

	else
 
		return
 '<small>([[EAN 13|EAN]]&nbsp;inconnu)</small>[[Categorie:EAN necessaire]]'

	end

end



Biblio
.
ISSN
 =
 function
 (
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	if
 Outils
.
trim
(
 args
[
1
]
 )
 then

		local
 newArgs
 =
 {
 issn
 =
 args
[
1
],
 categ
 =
 {}
 }

		local
 i
 =
 2

		while
 args
[
i
]
 do

			newArgs
[
 'issn'
 ..
 i
 ]
 =
 args
[
i
]

			i
 =
 i
 +
 1

		end

		return
 Biblio
.
identifiantsBiblio
(
 newArgs
 )

	else
 
		return
 '<small>([[International Standard Serial Number|ISSN]]&nbsp;inconnu)</small>'
 ..
 categorise
{
 'ISSN necessaire'
,
 true
 }

	end

end


Biblio
.
rechercheIssn
 =
 function
(
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	local
 References
 =
 require
(
 'Module:Biblio/References'
 )

	local
 newArgs
 =
 {
 issn
 =
 args
[
1
],
 sansLabel
 =
 true
,
 categ
 =
 {}
 }

	local
 issn
 =
 References
.
issn
(
 newArgs
 )
 or
 ''

	local
 categ
 =
 categorise
{
 'Page avec ISSN invalide'
,
 newArgs
.
categ
.
issnInvalid
 }

	return
 issn
 ..
 categ

end


Biblio
.
BNF
 =
 function
 (
 frame
 )

	local
 References
 =
 require
(
 'Module:Biblio/References'
 )

	return
 References
.
bnf
(
 Outils
.
extractArgs
(
 frame
 )[
1
]
 )

end


Biblio
.
enLigne
 =
 function
 (
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	local
 References
 =
 require
(
 'Module:Biblio/References'
 )

	return
 '<small>['
 ..
 References
.
enLigne
(
 args
 )
  ..
 ']</small>'

end


Biblio
.
identifiantsBiblio
 =
 function
(
 frame
 )

	local
 args
 =
 Outils
.
extractArgs
(
 frame
 )

	args
.
categ
 =
 {}

	local
 References
 =
 require
(
 'Module:Biblio/References'
 )

	return
 (
 References
.
affichageLiensExternes
(
 args
,
 nil
,
 true
,
 true
 )
 or
 ''
 )

		..
 categorise
{
 'Page avec ISBN invalide'
,
 args
.
categ
.
isbnInvalid
 }

		..
 categorise
{
 'Page avec ISSN invalide'
,
 args
.
categ
.
issnInvalid
 }

		..
 categorise
{
 'Page avec EAN invalide'
,
 args
.
categ
.
eanInvalid
 }

end


return
 Biblio