« Module:Numéro Q » : différence entre les versions

Une page de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
TomT0m (discuter | contributions)
correction de la modif précédente
Archimëa (discuter | contributions)
Aucun résumé des modifications
Ligne 1 : Ligne 1 :

local gsub = mw.ustring.gsub

local function id_from_wd_wikilink(link)
local attempt = mw.text.trim(link)
attempt = gsub(attempt, "^[[][[]:?d:","") --extracting Q titles from wikilinks like [[d:Q1]], [[:d:Q1]], [[:d:Q1|Q1]] or [[d:Q1|plop]]
:gsub("[|].*[]][]]$","")
:gsub("[]][]]$","")
if mw.ustring.find(attempt, "^Q[0-9]*$") then return attempt end
end

local function id_from_any(link)
return id_from_wd_wikilink(link) or mw.wikibase.getEntityIdForTitle(link)
end
return {
return {
numero = function (frame) return mw.wikibase.getEntityIdForTitle(frame.args[1] , frame.args[2] or "fr") end
id_from_wd_wikilink =
id_from_wd_wikilink ,
id_from_any =
id_from_any ,
numero = function (frame) return id_from_any(frame.args[1]) end
}
}

Version du 20 avril 2018 à 13:53

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

Module support pour {{Numéro Q}} :


Utilisation

Fonctions exportables :

  • numero(frame) – Fonction appelable depuis un modèle. Tente de trouver le numéro Q pertinent à partir d’un titre d’article, d’une url d’un élément Wikidata, ou d’une chaîne sous la forme "Qxxxx" .
    Paramètres, voir au dessous et la documentation de {{Numéro Q}}
  • _numero(input, erreur_si_non_trouve, test_redirection) – fonction lua appelée par la fonction au dessus, exportée pour appeler depuis un autre module Lua. Paramètre:
    input
    une chaîne. Peut-être un titre d’article, une uri pour copier/coller depuis la barre d’adresse sur Wikidata, un wikilien au format [[titre]]
    erreur_si_non_trouvé
    par défaut "oui", positionner à "non" si on ne veut qu’une chaîne vide et pas une chaîne d’erreur de modèle wiki dans le cas où la fonction ne trouve pas d’identifiant.
    test_redirection
     booléen. Dans le cas où le titre d’article n’a pas d’élément et si on affiche une erreur, signaler si c’est un titre de redirection.


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

  • mw.title – description (courte description expliquant la dépendance de ce module externe).

Exemples

Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.


return {
	numero = function (frame) return mw.wikibase.getEntityIdForTitle(frame.args[1] , frame.args[2] or "fr") end
}