Module:Lien
Aller à la navigation
Aller à la recherche
Le module : Lien sert à faire fonctionner le modèle : Article (ou modèle : A) et le modèle : Filtre, voir leurs documentations.
À faire
- Le modèle : Article2 a été créé pour les quelques pages qui utilisent abondamment le modèle : A, car celui-ci a été rendu trop gourmand par le passage au lua.
- Le lien Wikipédia du modèle : A devrait peut-être n’être affiché que si l’article a un interwiki.
- La fonction implémentant le modèle : A devrait être appelable depuis d’autres modules, et le modèle devrait finir par être assez peu utilisé.
La documentation de ce module est incluse depuis sa sous-page de documentation (modifier | historique).
Veuillez placer les catégories dans la sous-page /Documentation.
Les éditeurs peuvent travailler dans le bac à sable (créer).
local p = {}
--
-- Fonctions pour assembler le texte de retour
--
local function article( page )
local puce = ' • '
local titre = mw.title.new( page )
local sujet = titre.subjectPageTitle.fullText
local retour = '[[:'
.. sujet
.. ']]<small class="plainlinks"> ('
local discussion = titre.talkPageTitle.fullText
if discussion then -- certains espaces peuvent ne pas avoir de page de discussion
retour = retour .. '[['
.. discussion
.. '|<span title="page de discussion">d</span>]]'
.. puce
end
if titre.exists then
retour = retour .. '['
.. titre:fullUrl{ action = 'history' }
.. ' <span title="historique">h</span>]'
.. puce
end
retour = retour .. '[[Special:Log/'
.. page
.. '|<span title="journaux">j</span>]]'
.. puce
.. '[[Special:Whatlinkshere/'
.. page
.. '|<span title="pages liées">PL</span>]]'
.. puce
.. '[[Special:Index/'
.. page
.. '|<span title="Sous Pages">SP</span>]]'
local suppression = mw.title.new( 'Vikidia:Pages à supprimer/' .. sujet )
if suppression.exists then
retour = retour .. puce
.. '[['
.. suppression.fullText
.. '|<span title="Débat de suppression">PàS</span>]]'
end
local superarticle = mw.title.new( 'Vikidia:Super article/Élection/' .. sujet )
if superarticle.exists then
retour = retour .. puce
.. '[['
.. superarticle.fullText
.. '|<span title="Super Article">SA</span>]]'
end
retour = retour .. puce
.. '[[:wp:'
.. page
.. '|<span title="Voir sur Wikipédia">WP</span>]]'
.. ')</small>'
return retour
end
local function filtre( id )
local puce = ' • ' -- puce insécable
local antiabus = mw.title.new( 'Special:Journal du filtre antiabus' )
local retour = '[[Spécial:Filtre_antiabus/'
.. id
.. '|Filtre '
.. id
.. ']]<small class="plainlinks"> ([[Spécial:Filtre_antiabus/history/'
.. id
.. '|h]]'
.. puce
.. '[[Spécial:Filtre_antiabus/test/'
.. id
.. '|t]]'
.. puce
.. '['
.. antiabus:fullUrl{ wpSearchFilter = id }
.. ' '
.. 'j])</small>'
return retour
end
--
-- Fonctions appelables depuis les modèles
--
-- pour le [[modèle : Article]]
function p.Article( frame )
local args = frame:getParent().args
local page = mw.text.trim( args[1] or '' ) and args[1] or error( 'une page doit être précisée pour le modèle : Article' )
return article( page )
end
-- pour le [[modèle : Filtre]]
function p.Filtre( frame )
local args = frame:getParent().args
local id = mw.text.trim( args[1] or '' ) and args[1] or error( 'un numéro doit être précisé pour le modèle : Filtre' )
return filtre( id )
end
return p