Permanently protected module

Difference between revisions of "Module:Normalized pagename"

From Yugipedia
Jump to: navigation, search
m (Don't leak "pagename" into the global namespace.)
(gsub() returns two values, but we only care about the first one, so we have to store back to the pagename variable before returning it, to discard the second value)
Line 14: Line 14:
 
local pagename = args[1] or mw.title.getCurrentTitle().prefixedText
 
local pagename = args[1] or mw.title.getCurrentTitle().prefixedText
 
 
return pagename
+
pagename = pagename
 
:gsub( '"', '"' )
 
:gsub( '"', '"' )
 
:gsub( '"', '"' )
 
:gsub( '"', '"' )
Line 24: Line 24:
 
:gsub( '&#59;', ';' )
 
:gsub( '&#59;', ';' )
 
:gsub( '=', '=' )
 
:gsub( '=', '=' )
 +
 +
return pagename
 
end
 
end
  

Revision as of 14:00, 26 January 2019

-- <pre>

--
-- implements {{Normalized pagename}}
--

local mArguments --lazily initialize
local p = {}

function p.main( frame )
	mArguments = mArguments or require( 'Module:Arguments' )
	local args = mArguments.getArgs( frame, { parentOnly = true } )
	
	local pagename = args[1] or mw.title.getCurrentTitle().prefixedText
	
	pagename = pagename
		:gsub( '&#34;', '"' )
		:gsub( '&quot;', '"' )
		:gsub( '&#38;', '&' )
		:gsub( '&amp;', '&' )
		:gsub( '&#39;', "'" )
		:gsub( '&apos;', "'" )
		:gsub( '&#42;', '*' )
		:gsub( '&#59;', ';' )
		:gsub( '&#61;', '=' )
	
	return pagename
end

return p

-- </pre>