Module:Weblink
Transforme des textes en lien externe
Utilisation
modifierFonctions :
fonction(lien, texte)
– crée un lien verslien
et affiche le textetest
, ou à défaut, affiche l'URL du lien moins le "http://" initial. Ne retourne rien silien
est nul ou égal à "-".fonction(liste, séparateur)
– crée des liens vers toutes les URL indiquées dans une table passée comme paramètre 1 et les sépare par le paramètre séparateur.
Exemples
modifierPour des exemples, voir la page de test permettant de tester diverses modifications apportées.
local p = {}
function p.makelink(url, showntext)
if (not url) or (url == "-") then
return nil
end
--I validation de l'url (paramètre URL)
url = mw.text.trim(url)
-- II texte à afficher (paramètre "showntext")
--- valeur spéciale : aucun texte
if showntext == "-" then
return url
end
--- laissé vide : texte basé sur l'URL
if not showntext then
if mw.ustring.sub(url, 1, 1) == "[" then
return url
end
local space = mw.ustring.find(url, ' ') -- si le nom du site est passé par mégarde dans l'URL, le séparer
if space then
local full = url
url = mw.ustring.sub(full, 2, space - 1)
showntext = mw.ustring.sub(full, space)
else
showntext = string.gsub( url, 'https?://', '')
end
---- remove trailing slash
if string.sub(showntext, #showntext, #showntext) == '/' then
showntext = string.sub(showntext, 1, #showntext - 1)
end
end
return '[' .. url .. ' ' .. showntext .. ']'
end
function p.makelinks(stringlist, separator)
if not type(stringlist) == table then
return error('stringlist should be table')
end
if not separator then
separator = '<br />'
end
for i, j in pairs(stringlist) do
stringlist[i] = p.makelink(k)
return table.concat(stringlist, separator )
end
end
return p