Module:Biblio/Bac à sable

 Documentation

Ce module sert de base aux fonctions bibliographiques. Lorsqu'elles sont appelées directement par un modèle (via #invoke), les paramètres passés à ce modèle sont automatiquement transmis au module, sauf si le modèle spécifie une autre valeur pour ce paramètre.

Utilisation

Fonctions exportables :

  • ouvrage(frame) – modèle {{Ouvrage}} ;
  • chapitre(frame) – modèle {{Chapitre}} ;
  • article(frame) – modèle {{Article}} ;
  • lienWeb(frame) – modèle {{Lien web}} ;
  • lienBrise(frame) – modèle {{Lien brisé}} ;
  • dictionnaire(frame) – appelle le modèle chapitre si un paramètre titre chapitre, article ou notice est non vide, sinon appelle le modèle ouvrage ;
  • ISBN(frame) – affiche en petit et entre parenthèses ISBN suivi d'autant de codes que de paramètres non nommés, avec lien à la page ad hoc ;
  • ISSN(frame) – affiche en petit et entre parenthèses ISSN suivi d'autant de codes que de paramètres non nommés, avec lien à la page ad hoc ;
  • enLigne() – similaire au modèle {{Lire en ligne}} (le texte par défaut est « en ligne »).

Modules externes et autres éléments dont ce module a besoin pour fonctionner :

Exemples

Utilisation de la fonction ouvrage dans un modèle pour afficher une référence :

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

Une page utilisant ce modèle avec le paramètre « passage = 28 » affichera :

  • Martine Michu, Mes vacances à la mer, p. 28
-- Le module biblio centralise les différentes fonctions utiles pour les bibliographie et références.local Biblio = {  }require('strict')local Outils = require( 'Module:Outils' )Biblio.ouvrage = function ( frame )local args = Outils.extractArgs( frame )local Ouvrage = require( 'Module:Biblio/Ouvrage/Bac à sable' )return Ouvrage.ouvrage( args ) endBiblio.chapitre = function ( frame )local args = Outils.extractArgs( frame )local Ouvrage = require( 'Module:Biblio/Ouvrage/Bac à sable' )return Ouvrage.chapitre( args ) endBiblio.article = function ( frame )local args = Outils.extractArgs( frame )local Ouvrage = require( 'Module:Biblio/Article/Bac à sable' )return Ouvrage.article( args ) endBiblio.lienWeb = function( frame )local args = Outils.extractArgs( frame )local Ouvrage = require( 'Module:Biblio/Lien web/Bac à sable' )return Ouvrage.lienWeb( args ) endBiblio.lienBrise = function( frame )local args = Outils.extractArgs( frame )local Ouvrage = require( 'Module:Biblio/Lien web/Bac à sable' )return Ouvrage.lienBrise( args )endBiblio.dictionnaire = function( frame )local args = Outils.extractArgs( frame )local article = Outils.validTextArg( args, 'notice', 'article', 'titre chapitre' )local Ouvrage = require( 'Module:Biblio/Ouvrage/Bac à sable' )if article thenargs['titre chapitre'] = articlereturn Ouvrage.chapitre( args ) elseargs.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 )endend-- catégorise une page en fonction du namespacelocal 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 ]thenreturn '[[Category:' .. category .. ']]'endreturn ''endBiblio.ISBN = function ( frame )local args = Outils.extractArgs( frame )if Outils.trim( args[1] ) thenlocal newArgs = { isbn = args[1] }local i = 2while args[i] donewArgs[ 'isbn' .. i ] = args[i]i = i + 1endreturn Biblio.identifiantsBiblio( newArgs )else return '<small>([[International Standard Book Number|ISBN]]&nbsp;inconnu)</small>' .. categorise{ 'ISBN nécessaire', true }endendBiblio.rechercheIsbn = function( frame )local args = Outils.extractArgs( frame )local References = require( 'Module:Biblio/Références' )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 .. categendBiblio.EAN = function ( frame )local args = Outils.extractArgs( frame )if Outils.trim( args[1] ) thenlocal newArgs = { ean = args[1], categ = {} }local i = 2while args[i] donewArgs[ 'ean' .. i ] = args[i]i = i + 1endreturn Biblio.identifiantsBiblio( newArgs )else return '<small>([[EAN 13|EAN]]&nbsp;inconnu)</small>[[Catégorie:EAN nécessaire]]'endendBiblio.ISSN = function ( frame )local args = Outils.extractArgs( frame )if Outils.trim( args[1] ) thenlocal newArgs = { issn = args[1], categ = {} }local i = 2while args[i] donewArgs[ 'issn' .. i ] = args[i]i = i + 1endreturn Biblio.identifiantsBiblio( newArgs )else return '<small>([[International Standard Serial Number|ISSN]]&nbsp;inconnu)</small>' .. categorise{ 'ISSN nécessaire', true }endendBiblio.rechercheIssn = function( frame )local args = Outils.extractArgs( frame )local References = require( 'Module:Biblio/Références/Bac à sable' )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 .. categendBiblio.BNF = function ( frame )local References = require( 'Module:Biblio/Références/Bac à sable' )return References.bnf( Outils.extractArgs( frame )[1] )endBiblio.enLigne = function ( frame )local args = Outils.extractArgs( frame )local References = require( 'Module:Biblio/Références/Bac à sable' )return '<small>[' .. References.enLigne( args )  .. ']</small>'endBiblio.identifiantsBiblio = function( frame )local args = Outils.extractArgs( frame )args.categ = {}local References = require( 'Module:Biblio/Références/Bac à sable' )return References.affichageLiensExternes( args, nil, true, true ) .. categorise{ 'Page avec ISBN invalide', args.categ.isbnInvalid }.. categorise{ 'Page avec ISSN invalide', args.categ.issnInvalid }.. categorise{ 'Page avec EAN invalide', args.categ.eanInvalid }endreturn Biblio
🔥 Top keywords: