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 14:30, 20 September 2018 (add documentation). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

local p = {}

function p.getFormmatedArticleLink(frame)
	local articleName = frame.args[1]											-- Get the article name.

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

	if not disambiguation then													-- Check if the article name does not have disambiguation parentheses.
		stylizedArticleTitle = "\"" .. articleName .. "\""						-- Add qutoation marks for the title per [[MOS:QUOTETITLE]].
		return stylizedArticleTitle												-- Return title.
	else																		-- Article has disambiguation.
		local articleTitle = string.gsub(articleName, "%s+%b()$", "", 1, false)	-- Get the article title without the disambiguation.
		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
		
		if (isDisambiguationExtended == 0) then									-- Article does not have extended disambiguation. -- currently this fails the check
			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.
		
		local newTitle = stylizedArticleTitle .. " " .. stylizedDisambiguation	-- Recreate the article name from the title and disambiguation.
    return newTitle																-- Return title.
    end
end

return p