Jump to content

Module:Television episode disambiguation description

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Gonnym (talk | contribs) at 18:10, 20 September 2018 (Gonnym moved page Module:Sandbox/Gonnym/Episode disambiguation description to Module:Television episode disambiguation description without leaving a redirect: Ready for mainspace). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

-- Do not add a style which is not supported by the [[WP:NCTV]] guidelines.

local p = {}

function p.getFormmatedArticleLink(frame)
	local articleName = frame.args[1]													-- Get the article name.
	local isParenthesesPartOfTitle = frame.args[2]										-- Get the "yes"/"no" value.
	
	local stylizedArticleName															-- Variable to save new stylized article name.
		
	if (isParenthesesPartOfTitle == "yes") then											-- Check if the parentheses is part of the episode title.
		stylizedArticleName = "\"" .. articleName .. "\""								-- Add qutoation marks for the title per [[MOS:QUOTETITLE]].
	end

	local disambiguation = string.match(articleName, "%s%((.-)%)")						-- Get the text inside the disambiguation parentheses.

	if not disambiguation then															-- Check if the article name does not have disambiguation parentheses.
		stylizedArticleName = "\"" .. articleName .. "\""								-- Add qutoation marks for the title per [[MOS:QUOTETITLE]].
	else																				-- Article has disambiguation.
		local articleTitle = string.gsub(articleName, "%s+%b()$", "", 1, false)			-- Get the article title without the disambiguation.
		local stylizedArticleTitle = "\"" .. articleTitle .. "\""						-- Add qutoation marks to the title per [[MOS:QUOTETITLE]].
		
		local isDisambiguationExtended = string.find(disambiguation, "episode")			-- Check if the article name has extended disambiguation with the word "episode".
		local stylizedDisambiguation													-- Variable to save new stylized disambiguation.
		
		if not isDisambiguationExtended then											-- Article does not have extended disambiguation.
			stylizedDisambiguation = "(''" .. disambiguation .. "'')"					-- Add italics to the disambiguation which should only be the TV series name per [[MOS:ITALICTITLE]] and [[WP:NCTV]].
		else																			-- Articles has extended disambiguation.
			local tvSeries = string.gsub(disambiguation, "episode", "", 1, true)		-- Get the TV series name without the extended disambiguation.
			stylizedDisambiguation = "(''" .. tvSeries .. "'' episode)"					-- Add italics to the disambiguation which should only be the TV series name per [[MOS:ITALICTITLE]] and [[WP:NCTV]]; 
		end																				-- and add back the extended disambiguation.
		
		stylizedArticleName = stylizedArticleTitle .. " " .. stylizedDisambiguation		-- Recreate the article name from the title and disambiguation.
    end
    
    local formattedLink = "[[" .. articleName .. "|" .. stylizedArticleName .. "]]"		-- Create a pipped link.
    return formattedLink																-- Return formmated link.
end

return p