Ce module permet de faire des traitements de la syntaxe MediaWiki.

La fonction get_destination extrait la destination d’un lien en syntaxe wiki.

Il est utilisé par {{Haut de page}} et {{Bas de page}}.


local p = {}

function p.extract_destination(text)
	patterns = {
		'.*%[%[(.*)|.*%]%].*', 	-- lien intern du type [[page|libellé]]
		'.*%[%[(.*)%]%].*',		-- lien intern du type [[page]]
		'.*%[([^%s]*)%s.*%]' 	-- lien exter du type [http://al.to libellé]
	}
	
	for _,pattern in ipairs(patterns) do
		dest = string.match(text, pattern)
		mw.log( text )
		mw.log( pattern )
		mw.log( dest )
		if dest ~= nil then
			return dest
 		end
 	end
 	mw.log( external_link_pattern )
	mw.log( dest )
	return text -- pas de destination extraite, mais on s’en lave les mains
end
 
function p.get_destination(frame)
	text = frame.args[1]
	return p.extract_destination(text)
end

return p