« Module:Weblink » : différence entre les versions
Aucun résumé des modifications |
possibilité de paramètre "showntext" = "-" pour ne retourner que l'URL, ajouts de commentaires |
||
| (19 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
local p = {} | local p = {} | ||
function p.makelink(url, showntext) | |||
if (not url) or (url == "-") then | |||
return nil | |||
end | |||
--I validation de l'url (paramètre URL) | |||
return ' | 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 | end | ||
function p.makelinks(stringlist) | function p.makelinks(stringlist, separator) | ||
if not type( | 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 | for i, j in pairs(stringlist) do | ||
stringlist[i] = | stringlist[i] = p.makelink(k) | ||
return stringlist | return table.concat(stringlist, separator ) | ||
end | end | ||
end | end | ||
return p | return p | ||
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