Module:Biblio/Lien vidéo
Apparence
[voir] [modifier] [historique] [purger]
Utilisation
Fonctions exportables :
lienVideo(args)
– affiche un lien vers une vidéo ; voir {{Lien vidéo}}
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
Module:Biblio/Commun
Module:Biblio/Références
Module:Unité
Module:Langue
– indirectement (chargé par Module:Biblio/Commun) si le paramètre langue est renseigné
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local Video = { }
local Langue = require( 'Module:Langue' )
local Commun = require( 'Module:Biblio/Commun' )
local References = require( 'Module:Biblio/Références' )
function Video.lienVideo( args )
-- La table wiki va recevoir tous les petits morceaux de texte, et sera concaténée à la fin.
-- Elle utilise la meta-table de TableBuilder, permettant d'utiliser les fonctions de la
-- librairie table comme des méthodes. minsert permet d'insérer plusieurs éléments en une
-- seule fois en, ignorant les paramètres nil.
local wiki = TableBuilder.new()
-- validArg renvoie le premier paramètre non vide, ou nil s'ils sont tous vides.
-- Seul les noms des paramètres doivent être transmis à la fonction.
local validArg = function ( ... ) return Commun.validTextArg( args, ... ) or false end
-- span initial (id) et libellé
local spanInitial, spanFinal = Commun.spanInitial ( args, validArg )
wiki.minsert( spanInitial, Commun.libelle( args ) )
-- Indication de langue
local indicLangue, codeLangue = Commun.indicationDeLangue ( args, validArg )
local dir, attributsLangue
if indicLangue and indicLangue ~= '' then
wiki.minsert( indicLangue, ' ' )
if codeLangue then
dir = Langue.directionLangue( codeLangue )
if dir == 'rtl' then
attributsLangue = ' lang="' .. codeLangue .. '" dir="rtl"'
else
dir = nil
attributsLangue = ' lang="' .. codeLangue .. '"'
end
end
end
-- Émission
local emission = validArgs('émission')
if emission then
wiki.minsert( ", dans ''" .. emission .. "''" )
end
-- Chaîne
local chaine = validArgs('chaîne')
if chaine then
wiki.minsert( " sur " .. chaine )
end
-- Date
local date = validArg('date', 'année', 'year' )
if date then
local lrm
if Langue.nonLatin( wiki.concat() ) then
lrm = '‎'
end
wiki.minsert( ',', lrm, ' ', Commun.inscriptionDate( args ) )
-- le &lrm est une marque de texte gauche à droite, utile si le texte qui précède est en droite à gauche (arabe, hébreux...)
end
-- Lien vers l'ouvrage en ligne (isbn, issn, pmid, doi, lire en ligne, résumé...)
wiki.minsert( References.affichageLiensExternes( args, validArg, false, true ) )
-- Fin du span (id) et de la description de l'ouvrage
wiki.minsert( spanFinal )
-- extrait
local extrait = validArg( 'citation', 'extrait', 'quote' )
if citation then
if codeLangue then
citation = Langue.lang{ codeLangue, citation }
end
wiki.minsert( '\194\160: <span class="citation">« ' .. citation .. ' »</span>' )
end
return wiki.concat()
end
return Video