Difference between revisions of "Module:Normalized pagename"
m (Don't leak "pagename" into the global namespace.) |
Dinoguy1000 (talk | contribs) (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 | ||
− | + | pagename = pagename | |
:gsub( '"', '"' ) | :gsub( '"', '"' ) | ||
:gsub( '"', '"' ) | :gsub( '"', '"' ) | ||
Line 24: | Line 24: | ||
:gsub( ';', ';' ) | :gsub( ';', ';' ) | ||
:gsub( '=', '=' ) | :gsub( '=', '=' ) | ||
+ | |||
+ | return pagename | ||
end | end | ||
Revision as of 14:00, 26 January 2019
Implements {{Normalized pagename}}.
-- <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( '"', '"' )
:gsub( '"', '"' )
:gsub( '&', '&' )
:gsub( '&', '&' )
:gsub( ''', "'" )
:gsub( ''', "'" )
:gsub( '*', '*' )
:gsub( ';', ';' )
:gsub( '=', '=' )
return pagename
end
return p
-- </pre>