Permanently protected module

Difference between revisions of "Module:Normalized pagename"

From Yugipedia
Jump to: navigation, search
(create)
 
(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>)
Line 1: Line 1:
 +
-- <pre>
 +
 
--
 
--
 
-- implements {{Normalized pagename}}
 
-- implements {{Normalized pagename}}
Line 7: Line 9:
  
 
function p.main( frame )
 
function p.main( frame )
mArguments = require( 'Module:Arguments' )
+
mArguments = mArguments or require( 'Module:Arguments' )
 
local args = mArguments.getArgs( frame, { parentOnly = true } )
 
local args = mArguments.getArgs( frame, { parentOnly = true } )
 
 
Line 26: Line 28:
  
 
return p
 
return p
 +
 +
-- </pre>

Revision as of 19:48, 4 September 2018

-- <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 } )
	
	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>