Template:Lua

Module:Fiction redirect category handler is used tag a fictional character, element or location redirect with the relevant redirect categories.

UsageEdit

Function listEdit

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 listEdit

Template:Transcluded section

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 drafts}}. 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. - -

NotesEdit

Template:Transcluded section

Template:Fiction-related redirects templates


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