Module:Fiction redirect category handler
Appearance
This Lua module is used on approximately 3,700 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
This module depends on the following other modules: |
Module:Fiction redirect category handler is used tag a fictional character, element or location redirect with the relevant redirect categories.
Usage
{{#invoke:Fiction redirect category handler|character}}
{{#invoke:Fiction redirect category handler|element}}
{{#invoke:Fiction redirect category handler|location}}
Function list
Function | Explanation |
---|---|
character
|
Creates a {{Redirect category shell}} with relevant redirects for fictional character redirects. |
element
|
Creates a {{Redirect category shell}} with relevant redirects for fictional element redirects. |
location
|
Creates a {{Redirect category shell}} with relevant redirects for fictional location redirects. |
Parameter list
Parameter | Explanation | {{R with possibilities}} | {{R printworthy}} or {{R unprintworthy}} |
---|---|---|---|
series_name
|
The name of the series article, including disambiguation. Will set the value entered as series which this redirect belongs to. | - | - |
series_name#
|
For multiple series starting from the 2nd series in the style of |series_name2= . The name of the series article names, including disambiguation. Will set the values entered as series which this object belongs to.
|
- | - |
multi_series_name_table
|
Multiple series article names, including disambiguation. Will set the values entered as series which this object belongs to. This parameter can only be used from other modules as it requires the parameters to be passed as an args table. | - | - |
parent_series
|
Used for scenarios where a series has a short web-based companion series ("minisodes"), and the redirects should be placed in the parent series category. | - | - |
restricted
|
Will tag the redirect with: {{R restricted}} and set the value entered as the correct title. | Yes | printworthy |
birth_name
|
Only valid for character redirects; Any value will tag the redirect with: {{R from birth name}}. | No | printworthy |
alt_name
|
Any value will tag the redirect with: {{R from alternative name}}. | No | printworthy |
former_name
|
Any value will tag the redirect with: {{R from former name}}. | No | printworthy |
short_name
|
Any value will tag the redirect with: {{R from short name}}. | No | printworthy |
long_name
|
Any value will tag the redirect with: {{R from long name}}. | No | printworthy |
sort_name
|
Only valid for character redirects; Any value will tag the redirect with: {{R from sort name}}. The value must be two characters. See {{R from sort name}} for more information. | No | printworthy |
title_name
|
Only valid for character redirects; Any value will tag the redirect with: {{R from name with title}}. | No | unprintworthy |
alt_spelling
|
Will tag the redirect with: {{R from alternative spelling}} and set the value entered as the correct spelling to use. | No | unprintworthy |
to_diacritic
|
Any value will tag the redirect with: {{R to diacritic}}. | No | unprintworthy |
incorrect_name
|
Any value will tag the redirect with: {{R from incorrect name}} and set the |primary= value entered as the correct name to use. If |primary= isn't used, it will instead use the value entered here.
|
No | unprintworthy |
capitalisation
|
Any value will tag the redirect with: {{R from miscapitalisation}} and set the |primary= value entered as the correct capitalisation to use. If |primary= isn't used, it will instead use the value entered here.
|
No | unprintworthy |
unneeded_dab
|
Any value will tag the redirect with: {{R from unnecessary disambiguation}}. | No | unprintworthy |
draft_move
|
Any value will tag the redirect with: {{R from move}} and {{R from draft namespace}}. | No | unprintworthy |
without_mention
|
Any value will tag the redirect with: {{R to article without mention}}. | No | unprintworthy |
anchor
|
Set as default for episode redirects. Any value will tag the redirect with: {{R to anchor}}. | - | - |
section
|
Set as default for fictional character, element and location redirects. Any value will tag the redirect with: {{R to section}}. | - | - |
list
|
Any value will tag the redirect with: {{R to list entry}}. | - | - |
to_article
|
Used for redirects to articles, and not to a specific section of the article. | - | - |
primary
|
Will tag the redirect with: {{R avoided double redirect}} and set the value entered as the primary redirect. | - | - |
merge
|
Any value will tag the redirect with: {{R from merge}}. | - | - |
history
|
Any value will tag the redirect with: {{R with history}}. | - | - |
dab_exception
|
Any value will set the current disambiguation used as correct, regardless if it follows a standard style. See note below. | - | - |
correct_disambiguation
|
Value will be used for disambiguation validation. Should be used if the disambiguation is different than the series name, such as when using a franchise name. | - | - |
test
|
Any value will set instruct the function to return only testing validation data. Used in /testcases. | - | - |
test_title
|
Value will be used for title validation. Used in /testcases. | - | - |
Notes
- The redirect will automatically be tagged with {{R from television episode}}, {{R from fictional character}}, {{R from fictional element}}, {{R from fictional location}} or {{R from song}} depending on the type of redirect, and be placed in the relevant category.
- Using the series parameters will place the redirect in a series-specific category:
[[Category:(series) (object) redirects to lists]]
, such as Category:Arrow (TV series) character redirects to lists. - If the redirect does not use one of the following correct disambiguation —
(series)
,(series) episode
,(series) character
,(series) element
or(series) character
— the redirect will be tagged with {{R from incorrect disambiguation}} and {{R unprintworthy}}. - If the redirect is using one of the unprintworthy templates, it will be categorized as {{R unprintworthy}}. If not, it will be categorized as {{R printworthy}}.
- If the redirect is using one of the templates marked above as not {{R with possibilities}}, it won't be categorized with it.
- If the redirect is linked to a Wikidata item, it will automatically be tagged with {{R with Wikidata item}}.
require("strict")
local getArgs = require("Module:Arguments").getArgs
local p = {}
--[[
Local function which handles all the shared character, element and location redirect handling code.
--]]
local function main(args, objectType, validArgs)
local redirectTemplateHandler = require("Module:Redirect template handler")
local redirectCategoryShell, mainRedirect, unknownParametersErrors = redirectTemplateHandler.setFictionalObjectRedirect(args, objectType, validArgs)
if (unknownParametersErrors) then
return redirectCategoryShell .. unknownParametersErrors
else
return redirectCategoryShell
end
end
--[[
Public function from other modules.
Function handles the unique character redirect code.
Do not merge with other sections to allow for future changes.
--]]
function p._character(args, validArgs)
local additonalValidArgs = {"birth_name", "sort_name", "title_name"}
for i = 1, #additonalValidArgs do
table.insert(validArgs, additonalValidArgs[i])
end
return main(args, "character", validArgs)
end
--[[
Public function from other modules.
Function handles the unique element redirect code.
Do not merge with other sections to allow for future changes.
--]]
function p._element(args, validArgs)
return main(args, "element", validArgs)
end
--[[
Public function from other modules.
Function handles the unique location redirect code.
Do not merge with other sections to allow for future changes.
--]]
function p._location(args, validArgs)
return main(args, "location", validArgs)
end
--[[
Public function which is used to create a Redirect category shell
with relevant redirects for fictional character redirects.
Parameters: See module documentation for details.
--]]
function p.character(frame)
local args = getArgs(frame)
return p._character(args, {})
end
--[[
Public function which is used to create a Redirect category shell
with relevant redirects for fictional element redirects.
Parameters: See module documentation for details.
--]]
function p.element(frame)
local args = getArgs(frame)
return p._element(args, {})
end
--[[
Public function which is used to create a Redirect category shell
with relevant redirects for fictional location redirects.
Parameters: See module documentation for details.
--]]
function p.location(frame)
local args = getArgs(frame)
return p._location(args, {})
end
return p