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)
 
(16 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
local p = {}
 
local p = {}
  
local w = require "Module:Wikidata"
+
function p.makelink(url, showntext)
local frame = mw.getCurrentFrame()
+
if (not url) or (url == "-") then
 +
return nil
 +
end
  
function p.makelink(astring)
+
--I validation de l'url (paramètre URL)
return '[' .. astring .. ' ' ..  frame:callParserFunction( '#titleparts', { astring, '', 3 } ) .. ']'
+
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(strinlist) == table then return nil end
+
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] = prettylink(stringlist[j])
+
stringlist[i] = p.makelink(k)
return stringlist
+
return table.concat(stringlist, separator )
 
end
 
end
 
end
 
end
  
 
return p
 
return p

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