Permanently protected module

Difference between revisions of "Module:Normalized pagename"

From Yugipedia
Jump to: navigation, search
(make the lazy load truly lazy (my understanding of the documentation suggests this shouldn't make a difference, but Beca's testing says otherwise?); wrap code in <pre>)
m (Don't leak "pagename" into the global namespace.)
Line 12: Line 12:
 
local args = mArguments.getArgs( frame, { parentOnly = true } )
 
local args = mArguments.getArgs( frame, { parentOnly = true } )
 
 
pagename = args[1] or mw.title.getCurrentTitle().prefixedText
+
local pagename = args[1] or mw.title.getCurrentTitle().prefixedText
 
 
pagename = pagename:gsub( '&#34;', '"' )
+
return pagename
 +
:gsub( '&#34;', '"' )
 
:gsub( '&quot;', '"' )
 
:gsub( '&quot;', '"' )
 
:gsub( '&#38;', '&' )
 
:gsub( '&#38;', '&' )
Line 23: Line 24:
 
:gsub( '&#59;', ';' )
 
:gsub( '&#59;', ';' )
 
:gsub( '&#61;', '=' )
 
:gsub( '&#61;', '=' )
 
return pagename
 
 
end
 
end
  

Revision as of 12:37, 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
	
	return pagename
		:gsub( '&#34;', '"' )
		:gsub( '&quot;', '"' )
		:gsub( '&#38;', '&' )
		:gsub( '&amp;', '&' )
		:gsub( '&#39;', "'" )
		:gsub( '&apos;', "'" )
		:gsub( '&#42;', '*' )
		:gsub( '&#59;', ';' )
		:gsub( '&#61;', '=' )
end

return p

-- </pre>