« Module:Weblink » : différence entre les versions

De Lagny-sur-Marne Wiki
Aller à la navigation Aller à la recherche
0x010D (discussion | contributions)
Aucun résumé des modifications
0x010D (discussion | contributions)
possibilité de paramètre "showntext" = "-" pour ne retourner que l'URL, ajouts de commentaires
 
(13 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :


function p.makelink(url, showntext)
function p.makelink(url, showntext)
if not url then  
if (not url) or (url == "-") then  
return nil
return nil
end
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 not showntext then
showntext = string.gsub( url, '(http://|https://)', '')  
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, 1, space - 1)
showntext = mw.ustring.sub(full, space + 1)
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
end
return '[' .. url ..  ' ' ..  showntext .. ']'
return '[' .. url ..  ' ' ..  showntext .. ']'
end
end

Dernière version du 20 août 2016 à 07:07

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 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, 1, space - 1) showntext = mw.ustring.sub(full, space + 1) 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 = '
' end for i, j in pairs(stringlist) do stringlist[i] = p.makelink(k) return table.concat(stringlist, separator ) end end

return p