Module:Weblink : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
(possibilité de paramètre "showntext" = "-" pour ne retourner que l'URL, ajouts de commentaires)
 
(3 révisions intermédiaires par 2 utilisateurs 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)
 
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
 
local space =  mw.ustring.find(url, ' ') -- si le nom du site est passé par mégarde dans l'URL, le séparer
 
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
 
if space then
url = mw.ustring.sub(url, 1, space - 1)
+
local full = url
showntext = mw.ustring.sub(url, 2)
+
url = mw.ustring.sub(full, 1, space - 1)
 +
showntext = mw.ustring.sub(full, space + 1)
 
else
 
else
 
showntext = string.gsub( url, 'https?://', '')
 
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
 
end
if string.sub(showntext, #showntext, #showntext) == '/' then -- remove trailing slash
+
 
showntext = string.sub(showntext, 1, #showntext - 1)
 
end
 
 
return '[' .. url ..  ' ' ..  showntext .. ']'
 
return '[' .. url ..  ' ' ..  showntext .. ']'
 
end
 
end

Version actuelle datée du 20 août 2016 à 07:07

La documentation pour ce module peut être créée à Module:Weblink/doc

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 = '<br />'
	end
	for i, j in pairs(stringlist) do
		stringlist[i] = p.makelink(k)
	return table.concat(stringlist, separator )
	end
end

return p