Module:Remove parentheses: Difference between revisions
From Amaranth Legacy, available at amaranth-legacy.community
More actions
Content deleted Content added
Tesinormed (talk | contribs) Created page with "local p = {} function p.main(frame) local args = require('Module:Arguments').getArgs(frame) if not args['scope'] then error('"scope" argument is required') end local scope = args['scope'] return frame:callParserFunction('DISPLAYTITLE', 'a' .. mw.title.getCurrentTitle()) end return p" |
Tesinormed (talk | contribs) m Removed protection from "Module:Remove parentheses" |
||
| (46 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
local yesno = require('Module:Yesno') |
|||
local libraryUtil = require('libraryUtil') |
|||
local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg |
|||
local p = {} |
local p = {} |
||
local function getDisplayTitle(specifier, title) |
|||
-- input validation |
|||
checkTypeForNamedArg('getDisplayTitle', 'specifier', specifier, 'string', false) |
|||
checkTypeForNamedArg('getDisplayTitle', 'title', title, 'string', false) |
|||
if title:find(' %(' .. specifier .. '%)$') then |
|||
local result, _ = title:gsub(' %(' .. specifier .. '%)', '') |
|||
return result |
|||
end |
|||
if title:find(' %(' .. specifier .. ', ') then |
|||
local result, _ = title:gsub(' %(' .. specifier .. ', ', ' (') |
|||
return result |
|||
end |
|||
if title:find(' %(' .. specifier .. ' %- ') then |
|||
local result, _ = title:gsub(' %(' .. specifier .. ' %- ', ' (') |
|||
return result |
|||
end |
|||
return title |
|||
end |
|||
function p.invoke(specifier) |
|||
local title = mw.title.getCurrentTitle().prefixedText |
|||
local displayTitle = getDisplayTitle(specifier, title) |
|||
if title ~= displayTitle then |
|||
return mw.ext.displaytitle.set(displayTitle) |
|||
else |
|||
return '' |
|||
end |
|||
end |
|||
function p.main(frame) |
function p.main(frame) |
||
local args = require('Module:Arguments').getArgs(frame) |
local args = require('Module:Arguments').getArgs(frame) |
||
-- input validation |
|||
if not args[' |
if not args['specifier'] then error('"specifier" argument is required') end |
||
local scope = args['scope'] |
|||
if yesno(args['return'] or false) then |
|||
return getDisplayTitle(args['specifier'], mw.title.getCurrentTitle().text) |
|||
else |
|||
return p.invoke(args['specifier']) |
|||
end |
|||
end |
end |
||
Latest revision as of 10:51, September 11, 2025
Removes parentheses in a page title; used by Template:Remove parentheses
local yesno = require('Module:Yesno')
local libraryUtil = require('libraryUtil')
local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg
local p = {}
local function getDisplayTitle(specifier, title)
-- input validation
checkTypeForNamedArg('getDisplayTitle', 'specifier', specifier, 'string', false)
checkTypeForNamedArg('getDisplayTitle', 'title', title, 'string', false)
if title:find(' %(' .. specifier .. '%)$') then
local result, _ = title:gsub(' %(' .. specifier .. '%)', '')
return result
end
if title:find(' %(' .. specifier .. ', ') then
local result, _ = title:gsub(' %(' .. specifier .. ', ', ' (')
return result
end
if title:find(' %(' .. specifier .. ' %- ') then
local result, _ = title:gsub(' %(' .. specifier .. ' %- ', ' (')
return result
end
return title
end
function p.invoke(specifier)
local title = mw.title.getCurrentTitle().prefixedText
local displayTitle = getDisplayTitle(specifier, title)
if title ~= displayTitle then
return mw.ext.displaytitle.set(displayTitle)
else
return ''
end
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame)
-- input validation
if not args['specifier'] then error('"specifier" argument is required') end
if yesno(args['return'] or false) then
return getDisplayTitle(args['specifier'], mw.title.getCurrentTitle().text)
else
return p.invoke(args['specifier'])
end
end
return p