Module:Remove parentheses: Difference between revisions
From Amaranth Legacy, available at amaranth-legacy.community
More actions
Content deleted Content added
Tesinormed (talk | contribs) No edit summary |
Tesinormed (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
local libraryUtil = require('libraryUtil') |
local libraryUtil = require('libraryUtil') |
||
local |
local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg |
||
local p = {} |
local p = {} |
||
| Line 6: | Line 6: | ||
local function getDisplayTitle(scope, title) |
local function getDisplayTitle(scope, title) |
||
-- input validation |
-- input validation |
||
checkTypeForNamedArg('getDisplayTitle', 'scope', scope, 'string') |
|||
checkTypeForNamedArg('getDisplayTitle', 'title', title, 'string') |
|||
if title:find(' (' .. scope .. ')') then |
if title:find(' (' .. scope .. ')') then |
||
displaytitle, _ = title:gsub('_%(' .. scope .. '%)', '') |
local displaytitle, _ = title:gsub('_%(' .. scope .. '%)', '') |
||
return displaytitle |
return displaytitle |
||
end |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
return displaytitle |
return displaytitle |
||
else |
|||
| ⚫ | |||
end |
end |
||
| ⚫ | |||
end |
end |
||
Revision as of 18:01, January 28, 2025
Removes parentheses in a page title; used by Template:Remove parentheses
local libraryUtil = require('libraryUtil')
local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg
local p = {}
local function getDisplayTitle(scope, title)
-- input validation
checkTypeForNamedArg('getDisplayTitle', 'scope', scope, 'string')
checkTypeForNamedArg('getDisplayTitle', 'title', title, 'string')
if title:find(' (' .. scope .. ')') then
local displaytitle, _ = title:gsub('_%(' .. scope .. '%)', '')
return displaytitle
end
if title:find(' (' .. scope .. ',') then
local displaytitle, _ = title:gsub('_%(' .. scope .. ',', ' (')
return displaytitle
end
return title
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame)
-- input validation
if not args['scope'] then error('"scope" argument is required') end
return frame:callParserFunction(
'DISPLAYTITLE',
getDisplayTitle(args['scope'], mw.title.getCurrentTitle().prefixedText)
)
end
return p