Aller au contenu

Module:Anchor

De Wikidébats, l'encyclopédie des débats et des arguments « pour » et « contre »

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

local p = {}

local mw			= mw
local tostring		= tostring
local gsub			= string.gsub
local t_trim		= mw.text.trim

local function anchorSimple( s )
	s = tostring( s or "" )

	--	Normalisation des apostrophes HTML éventuelles
	s = gsub( s, "'", "'" )
	s = gsub( s, "'", "'" )
	s = gsub( s, "'", "'" )

	--	Nettoyage minimal
	s = gsub( s, "%s+", " " )
	s = t_trim( s )

	--	Espaces → underscore
	s = gsub( s, " ", "_" )

	--	Suppression caractères cassants (HTML / wiki)
	s = gsub( s, '[%[%]{}|#<>"]', "" )

	return s
end

function p.id( frame )
	return anchorSimple( frame.args and frame.args[ 1 ] )
end

function p._id( s )
	return anchorSimple( s )
end

return p