-------------------------------------------------------------------------------
-- Configuration data for [[Module:Article history]]
-------------------------------------------------------------------------------
return {
-------------------------------------------------------------------------------
-- Actions
-------------------------------------------------------------------------------
actions = {
FAC = {
name = 'Featured article candidate',
results = {
promoted = {
text = 'Promoted',
aliases = {'pass', 'passed'}
},
['not promoted'] = {
text = 'Not promoted',
aliases = {'fail', 'failed'}
}
},
validStatuses = {
FFAC = true,
FA = true,
FFA = true
}
},
FAR = {
name = 'Featured article review',
aliases = {'FARC'},
results = {
kept = {
text = 'Kept',
aliases = {'pass', 'passed', 'keep'}
},
demoted = {
text = 'Demoted',
aliases = {'fail', 'failed', 'remove', 'removed'}
},
merged = {
text = 'Merged',
aliases = {'merge'}
}
},
validStatuses = {
FA = true,
FFA = true
},
categories = {
function (actionObj)
local result = actionObj:getResult()
if result == 'demoted' or result == 'merged' then
local currentStatus = actionObj:getCurrentStatus()
local sortKey = actionObj.title.subjectPageTitle.prefixedText
if currentStatus == 'FA' or currentStatus == 'FL' then
sortKey = '#' .. sortKey
end
return 'Wikipedia former featured articles', sortKey
end
end
}
},
BP = {
name = 'Brilliant prose',
results = {
nominated = {
text = 'Nominated',
aliases = {'pass', 'promoted', 'nom'}
}
},
validStatuses = {
}
},
RBP = {
name = 'Refreshing brilliant prose',
results = {
kept = {
text = 'Kept',
aliases = {'pass', 'passed', 'keep'}
},
['not kept'] = {
text = 'Not kept',
aliases = {'fail', 'failed', 'remove', 'removed', 'demoted'}
}
},
validStatuses = {
FA = true,
FFAC = true
},
categories = {
function (actionObj)
if actionObj:getResult() == 'not kept' then
return 'Wikipedia former brilliant prose', actionObj.title.text
end
end
}
},
FLC = {
name = 'Featured list candidate',
results = {
promoted = {
text = 'Promoted',
aliases = {'pass', 'passed'}
},
['not promoted'] = {
text = 'Not promoted',
aliases = {'fail', 'failed'}
}
},
validStatuses = {
FFLC = true,
FL = true,
FFL = true
}
},
FLR = {
name = 'Featured list removal candidate',
results = {
kept = {
text = 'Kept',
aliases = {'pass', 'passed', 'keep'}
},
demoted = {
text = 'Demoted',
aliases = {'fail', 'failed', 'remove', 'removed'}
},
merged = {
text = 'Merged',
aliases = {'merge'}
}
},
validStatuses = {
FL = true,
FFL = true
},
categories = {
function (actionObj)
local result = actionObj:getResult()
if result == 'demoted' or result == 'merged' then
local sortKey
if actionObj:getCurrentStatus() == 'FL' then
sortKey = '#' .. actionObj.title.subjectPageTitle.prefixedText
else
sortKey = actionObj.title.text
end
return 'Wikipedia former featured lists', sortKey
end
end
}
},
FTC = {
name = 'Featured topic candidate',
results = {
promoted = {
text = 'Promoted',
aliases = {'pass', 'passed'}
},
['not promoted'] = {
text = 'Not promoted',
aliases = {'fail', 'failed'}
}
},
validStatuses = false, -- Any status
blurb = '',
image = ''
},
FTR = {
name = 'Featured topic removal candidate',
results = {
kept = {
text = 'Kept',
aliases = {'pass', 'passed', 'keep'}
},
demoted = {
text = 'Demoted',
aliases = {'fail', 'failed', 'remove', 'removed'}
},
merged = {
text = 'Merged',
aliases = {'merge'}
}
},
validStatuses = false, -- Any status
blurb = '',
image = ''
},
FPOC = {
name = 'Featured portal candidate',
results = {
promoted = {
text = 'Promoted',
aliases = {'pass', 'passed'}
},
['not promoted'] = {
text = 'Not promoted',
aliases = {'fail', 'failed'}
}
},
validStatuses = {
FFPOC = true,
FPO = true,
FFPO = true
}
},
FPOR = {
name = 'Featured portal review',
results = {
kept = {
text = 'Kept',
aliases = {'pass', 'passed', 'keep'}
},
demoted = {
text = 'Demoted',
aliases = {'fail', 'failed', 'remove', 'removed'}
},
merged = {
text = 'Merged',
aliases = {'merge'}
}
},
validStatuses = {
FPO = true,
FFPO = true
}
},
GAN = {
name = 'Good article nominee',
aliases = {'GAC'},
results = {
listed = {
text = 'Listed',
aliases = {'pass', 'passed', 'promoted'}
},
['not listed'] = {
text = 'Not listed',
aliases = {'fail', 'failed', 'not promoted'}
}
},
validStatuses = {
FGAN = true,
GA = true,
DGA = true,
FFAC = true,
FA = true,
FFA = true
},
categories = {
function (actionObj)
if actionObj:getResult() == 'not listed' then
local currentStatus = actionObj:getCurrentStatus()
if currentStatus ~= 'FA'
and currentStatus ~= 'GA'
and currentStatus ~= 'FFA'
then
return 'Former good article nominees', actionObj.title.text
end
end
end
}
},
GAR = {
name = 'Good article reassessment',
results = {
kept = {
text = 'Kept',
aliases = {'pass', 'passed', 'keep'}
},
delisted = {
text = 'Delisted',
aliases = {'fail', 'failed'}
},
listed = {
text = 'Listed'
},
['not listed'] = {
text = 'Not listed'
}
},
validStatuses = {
GA = true,
DGA = true,
FFAC = true,
FA = true,
FFA = true
},
categories = {
function (actionObj)
if actionObj:getResult() == 'delisted' then
local currentStatus = actionObj:getCurrentStatus()
if currentStatus ~= 'FA'
and currentStatus ~= 'GA'
then
return 'Delisted good articles', actionObj.title.text
end
end
end
}
},
GTC = {
name = 'Good topic candidate',
results = {
promoted = {
text = 'Promoted',
aliases = {'pass', 'passed'}
},
['not promoted'] = {
text = 'Not promoted',
aliases = {'fail', 'failed'}
}
},
validStatuses = false
},
GTR = {
name = 'Good topic removal candidate',
results = {
kept = {
text = 'Kept',
aliases = {'pass', 'passed', 'keep'}
},
demoted = {
text = 'Demoted',
aliases = {'fail', 'failed', 'remove', 'removed'}
},
merged = {
text = 'Merged',
aliases = {'merge'}
}
},
validStatuses = false
},
PR = {
name = 'Peer review',
results = {
reviewed = {
text = 'Reviewed',
},
['not reviewed'] = {
text = 'Not reviewed',
}
},
validStatuses = false,
categories = {'Old requests for peer review'}
},
WPR = {
name = function (actionObj)
local names = {
approved = 'WikiProject approved revision',
copyedited = 'Guild of Copy Editors',
collaboration = 'WikiProject collaboration',
maindate = "Today's featured article"
}
local result = actionObj:getResult()
return result and names[result] or 'WikiProject peer review'
end,
results = {
approved = {
text = function(actionObj)
if actionObj.oldid then
local url = mw.uri.fullUrl(
actionObj.title.prefixedText,
{diff = 'cur', oldid = actionObj.oldid}
)
return string.format(
'[%s %s]',
tostring(url),
'Diff to current version'
)
else
error(string.format(
"No oldid detected for the approved version; " ..
"please set the 'action%doldid' parameter " ..
"or give the 'action%dresult' parameter a " ..
"different value.",
actionObj.paramNum,
actionObj.paramNum
))
end
end,
aliases = {'approved version'}
},
copyedited = {
text = 'Copyedited',
aliases = {'copyedit', 'proofread'}
},
maindate = {
text = 'Main Page'
},
collaborated = {
text = 'Collaborated',
aliases = {'cotw', 'collaboration'}
},
reviewed = {
text = 'Reviewed',
aliases = {''} -- This is "Reviewed" if the reason is blank, but not absent.
}
},
validStatuses = false
},
WAR = {
name = 'WikiProject A-class review',
results = {
approved = {
text = 'Approved',
aliases = {'pass', 'passed'}
},
['not approved'] = {
text = 'Not approved',
aliases = {'fail', 'failed', 'not reviewed'}
},
reviewed = {
text = 'Reviewed',
aliases = {''}
},
kept = {
text = 'Kept',
aliases = {'keep'}
},
demoted = {
text = 'Demoted',
aliases = {'demote'}
},
},
validStatuses = false
},
AFD = {
name = 'Articles for deletion',
results = {
kept = {
text = 'Kept',
aliases = {'withdrawn', 'keep'}
},
deleted = {
text = 'Deleted',
aliases = {'delete'}
},
merged = {
text = 'Merged',
aliases = {'merge'}
},
['no consensus'] = {
text = 'No consensus'
},
['speedily kept'] = {
text = 'Speedily kept',
aliases = {'speedy keep'}
},
['speedily deleted'] = {
text = 'Speedily deleted',
aliases = {'speedy delete'}
},
redirected = {
text = 'Redirected',
aliases = {'redirect'}
},
renamed = {
text = 'Renamed',
aliases = {'rename', 'move', 'moved'}
}
},
validStatuses = false
},
MFD = {
name = 'Miscellanea for deletion',
results = {
kept = {
text = 'Kept',
aliases = {'withdrawn', 'keep'}
},
deleted = {
text = 'Deleted',
aliases = {'delete'}
},
merged = {
text = 'Merged',
aliases = {'merge'}
},
['no consensus'] = {
text = 'No consensus'
},
['speedily kept'] = {
text = 'Speedily kept',
aliases = {'speedy keep'}
},
['speedily deleted'] = {
text = 'Speedily deleted',
aliases = {'speedy delete'}
},
redirected = {
text = 'Redirected',
aliases = {'redirect'}
},
renamed = {
text = 'Renamed',
aliases = {'rename', 'move', 'moved'}
}
},
validStatuses = false
},
TFD = {
name = 'Templates for discussion',
results = {
kept = {
text = 'Kept',
aliases = {'withdrawn', 'keep'}
},
deleted = {
text = 'Deleted',
aliases = {'delete'}
},
merged = {
text = 'Merged',
aliases = {'merge'}
},
['no consensus'] = {
text = 'No consensus'
},
['speedily kept'] = {
text = 'Speedily kept',
aliases = {'speedy keep'}
},
['speedily deleted'] = {
text = 'Speedily deleted',
aliases = {'speedy delete'}
},
redirected = {
text = 'Redirected',
aliases = {'redirect'}
},
renamed = {
text = 'Renamed',
aliases = {'rename', 'move', 'moved'}
}
},
validStatuses = false
},
CSD = {
name = 'Candidate for speedy deletion',
results = {
kept = {
text = 'Kept',
aliases = {'withdrawn', 'keep'}
},
deleted = {
text = 'Deleted',
aliases = {'delete'}
},
merged = {
text = 'Merged',
aliases = {'merge'}
},
['no consensus'] = {
text = 'No consensus'
},
['speedily kept'] = {
text = 'Speedily kept',
aliases = {'speedy keep'}
},
['speedily deleted'] = {
text = 'Speedily deleted',
aliases = {'speedy delete'}
},
redirected = {
text = 'Redirected',
aliases = {'redirect'}
},
renamed = {
text = 'Renamed',
aliases = {'rename', 'move', 'moved'}
}
},
validStatuses = false
},
PROD = {
name = 'Proposed deletion',
results = {
kept = {
text = 'Kept',
aliases = {'withdrawn', 'keep'}
},
deleted = {
text = 'Deleted',
aliases = {'delete'}
},
merged = {
text = 'Merged',
aliases = {'merge'}
},
['no consensus'] = {
text = 'No consensus'
},
['speedily kept'] = {
text = 'Speedily kept',
aliases = {'speedy keep'}
},
['speedily deleted'] = {
text = 'Speedily deleted',
aliases = {'speedy delete'}
},
redirected = {
text = 'Redirected',
aliases = {'redirect'}
},
renamed = {
text = 'Renamed',
aliases = {'rename', 'move', 'moved'}
}
},
validStatuses = false
},
DRV = {
name = 'Deletion review',
results = {
endorsed = {
text = 'Endorsed',
aliases = {'endorse'}
},
relisted = {
text = 'Relisted',
aliases = {'relist'}
},
overturned = {
text = 'Overturned',
aliases = {'overturn'}
},
['no consensus'] = {
text = 'No consensus'
}
},
validStatuses = false
}
},
-------------------------------------------------------------------------------
-- Statuses
-------------------------------------------------------------------------------
statuses = {
FA = {
image = 'Featured article star.svg'
},
FFA = {
image = 'Featured article star - cross.svg'
},
FFAC = {
aliases = {'FACFAILED'},
image = 'Cscr-former.svg'
},
FL = {
image = 'Featured article star.svg'
},
FFL = {
image = 'Cscr-featured-strike.svg'
},
FFLC = {
image = 'Cscr-former.svg'
},
GA = {
image = 'Symbol support vote.svg'
},
FGAN = {
aliases = {'FAILEDGA'},
image = 'Symbol unsupport vote.svg'
},
DGA = {
aliases = {'DELISTEDGA'},
image = 'Symbol unsupport vote.svg'
},
FFT = {
image = 'Cscr-featured-strike.svg'
},
FFTC = {
image = 'Cscr-former.svg'
},
FPO = {
image = 'Cscr-former.svg'
},
FFPO = {
image = 'Featured article star - cross.svg'
},
FFPOC = {
image = 'Cscr-former.svg'
},
},
doubleStatuses = {
['FFA/GA'] = {
statuses = {'FFA', 'GA'}
}
},
invalidStatuses = {
FAC = {
},
FAR = {
},
STUB = {
aliases = {'START', 'B', 'A'}
},
NA = {
aliases = {'PR', ''}
},
},
-------------------------------------------------------------------------------
-- Parameters
-------------------------------------------------------------------------------
-- The parameter values used to generate the page actions. These are used as
-- Lua patterns, so any of the magic characters *+-.^$%[] should be escaped
-- with a preceding % symbol.
actionParamPrefix = 'action',
actionParamSuffixes = {
[''] = 'id',
date = 'date',
link = 'link',
result = 'result',
oldid = 'oldid'
},
-------------------------------------------------------------------------------
-- Messages
-------------------------------------------------------------------------------
msg = {
}
-------------------------------------------------------------------------------
-- End config
-------------------------------------------------------------------------------
}