<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://noumenapedia.net/index.php?action=history&amp;feed=atom&amp;title=Module%3AEpisode_table</id>
	<title>Module:Episode table - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://noumenapedia.net/index.php?action=history&amp;feed=atom&amp;title=Module%3AEpisode_table"/>
	<link rel="alternate" type="text/html" href="https://noumenapedia.net/index.php?title=Module:Episode_table&amp;action=history"/>
	<updated>2026-10-28T20:52:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://noumenapedia.net/index.php?title=Module:Episode_table&amp;diff=7904&amp;oldid=prev</id>
		<title>Deleatur yhe: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://noumenapedia.net/index.php?title=Module:Episode_table&amp;diff=7904&amp;oldid=prev"/>
		<updated>2026-09-09T10:19:52Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:19, 9 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Deleatur yhe</name></author>
	</entry>
	<entry>
		<id>https://noumenapedia.net/index.php?title=Module:Episode_table&amp;diff=7903&amp;oldid=prev</id>
		<title>wikipedia&gt;Alex 21: Mainspace only</title>
		<link rel="alternate" type="text/html" href="https://noumenapedia.net/index.php?title=Module:Episode_table&amp;diff=7903&amp;oldid=prev"/>
		<updated>2026-06-02T21:11:12Z</updated>

		<summary type="html">&lt;p&gt;Mainspace only&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This module implements {{Episode table}} and {{Episode table/part}}.&lt;br /&gt;
&lt;br /&gt;
local HTMLcolor = mw.loadData( &amp;#039;Module:Color contrast/colors&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- EpisodeTable class&lt;br /&gt;
-- The main class.&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local contrast_ratio = require(&amp;#039;Module:Color contrast&amp;#039;)._ratio&lt;br /&gt;
local EpisodeTable = {}&lt;br /&gt;
&lt;br /&gt;
function EpisodeTable.cell(background, width, text, reference, textColor)&lt;br /&gt;
	local cell = mw.html.create(&amp;#039;th&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	-- Width&lt;br /&gt;
	local cell_width&lt;br /&gt;
	if width == &amp;#039;auto&amp;#039; then&lt;br /&gt;
		cell_width = &amp;#039;auto&amp;#039;&lt;br /&gt;
	elseif tonumber(width) ~= nil then&lt;br /&gt;
		cell_width = width .. &amp;#039;%&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		cell_width = nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Cell&lt;br /&gt;
	cell:attr(&amp;#039;scope&amp;#039;,&amp;#039;col&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;background&amp;#039;,background or &amp;#039;#CCCCFF&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;width&amp;#039;,cell_width)&lt;br /&gt;
		:css(&amp;#039;color&amp;#039;,textColor)&lt;br /&gt;
		:wikitext(text)&lt;br /&gt;
	&lt;br /&gt;
	-- Reference&lt;br /&gt;
	if reference and reference ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		cell:wikitext(&amp;quot;&amp;amp;#8202;&amp;quot; .. EpisodeTable.reference(reference, background))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return cell&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function EpisodeTable.reference(reference, background)&lt;br /&gt;
	local link1_cr = contrast_ratio{&amp;#039;#0645AD&amp;#039;, background or &amp;#039;#CCCCFF&amp;#039;, [&amp;#039;error&amp;#039;] = 0}&lt;br /&gt;
	local link2_cr = contrast_ratio{&amp;#039;#0B0080&amp;#039;, background or &amp;#039;#CCCCFF&amp;#039;, [&amp;#039;error&amp;#039;] = 0}&lt;br /&gt;
	&lt;br /&gt;
	local refspan = mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
		:wikitext(reference)&lt;br /&gt;
	&lt;br /&gt;
	if link1_cr &amp;lt; 7 or link2_cr &amp;lt; 7 then&lt;br /&gt;
		refspan&lt;br /&gt;
			:css(&amp;#039;color&amp;#039;,&amp;#039;black&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;background-color&amp;#039;,&amp;#039;white&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;padding&amp;#039;,&amp;#039;1px&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;display&amp;#039;,&amp;#039;inline-block&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;line-height&amp;#039;,&amp;#039;50%&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return tostring(refspan)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function EpisodeTable.abbr(text,title)&lt;br /&gt;
	local abbr = mw.html.create(&amp;#039;abbr&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;title&amp;#039;,title)&lt;br /&gt;
		:wikitext(text)&lt;br /&gt;
	return tostring(abbr)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function EpisodeTable.part(frame,args)&lt;br /&gt;
	local row = mw.html.create(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if (args.c == nil or args.c == &amp;#039;&amp;#039;) then args.c = &amp;#039;#CCCCFF&amp;#039; end&lt;br /&gt;
	&lt;br /&gt;
	-- Add # to color if necessary&lt;br /&gt;
	if args.c ~= nil and HTMLcolor[args.c] == nil then&lt;br /&gt;
		args.c = &amp;#039;#&amp;#039;..(mw.ustring.match(args.c, &amp;#039;^[%s#]*([a-fA-F0-9]*)[%s]*$&amp;#039;) or &amp;#039;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local black_cr = contrast_ratio{args.c or &amp;#039;#CCCCFF&amp;#039;, &amp;#039;black&amp;#039;, [&amp;#039;error&amp;#039;] = 0}&lt;br /&gt;
	local white_cr = contrast_ratio{&amp;#039;white&amp;#039;, args.c or &amp;#039;#CCCCFF&amp;#039;, [&amp;#039;error&amp;#039;] = 0}&lt;br /&gt;
	&lt;br /&gt;
	local partTypes = {&lt;br /&gt;
		{&amp;#039;act&amp;#039;,&amp;#039;Act&amp;#039;},&lt;br /&gt;
		{&amp;#039;chapter&amp;#039;,&amp;#039;Chapter&amp;#039;},&lt;br /&gt;
		{&amp;#039;part&amp;#039;,&amp;#039;Part&amp;#039;},&lt;br /&gt;
		{&amp;#039;volume&amp;#039;,&amp;#039;Volume&amp;#039;},&lt;br /&gt;
		{&amp;#039;week&amp;#039;,&amp;#039;Week&amp;#039;},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local displaytext = &amp;#039;&amp;#039;&lt;br /&gt;
	local isAnyPartSet = false&lt;br /&gt;
	&lt;br /&gt;
	for k,v in pairs(partTypes) do&lt;br /&gt;
		if args[v[1]] then&lt;br /&gt;
			isAnyPartSet = true&lt;br /&gt;
			displaytext = v[2] .. &amp;#039; &amp;#039; .. args[v[1]]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if args.subtitle then&lt;br /&gt;
		displaytext = displaytext .. ((isAnyPartSet and &amp;#039;: &amp;#039; or &amp;#039;&amp;#039;) .. args.subtitle)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local plainText = require(&amp;#039;Module:Plain text&amp;#039;)._main&lt;br /&gt;
	local displayTextAnchor = plainText(displaytext)&lt;br /&gt;
	&lt;br /&gt;
	row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;colspan&amp;#039;, 13)&lt;br /&gt;
		:attr(&amp;#039;id&amp;#039;, args.id or displayTextAnchor)&lt;br /&gt;
		:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;background-color&amp;#039;, args.c or &amp;#039;#CCCCFF&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;color&amp;#039;, black_cr &amp;gt; white_cr and &amp;#039;black&amp;#039; or &amp;#039;white&amp;#039;)&lt;br /&gt;
		:wikitext((args.nobold and displaytext or &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; .. displaytext .. &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot;) .. (args.r and &amp;quot;&amp;amp;#8202;&amp;quot; .. EpisodeTable.reference(args.r, args.c) or &amp;#039;&amp;#039;))&lt;br /&gt;
	&lt;br /&gt;
	return tostring(row)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function EpisodeTable.new(frame,args)&lt;br /&gt;
	args = args or {}&lt;br /&gt;
	local categories = &amp;#039;&amp;#039;&lt;br /&gt;
	local background = (args.background and args.background ~= &amp;#039;&amp;#039; and args.background ~= &amp;#039;#&amp;#039;) and args.background or nil&lt;br /&gt;
	&lt;br /&gt;
	-- Add # to background if necessary&lt;br /&gt;
	if background ~= nil and HTMLcolor[background] == nil then&lt;br /&gt;
		background = &amp;#039;#&amp;#039;..(mw.ustring.match(background, &amp;#039;^[%s#]*([a-fA-F0-9]*)[%s]*$&amp;#039;) or &amp;#039;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Default widths noted by local consensus&lt;br /&gt;
	local defaultwidths = {};&lt;br /&gt;
	defaultwidths.overall = 5;&lt;br /&gt;
	defaultwidths.overall2 = 5;&lt;br /&gt;
	defaultwidths.season = 5;&lt;br /&gt;
	defaultwidths.series = 5;&lt;br /&gt;
	defaultwidths.prodcode = 7;&lt;br /&gt;
	defaultwidths.viewers = 10;&lt;br /&gt;
	&lt;br /&gt;
	-- Create episode table&lt;br /&gt;
	local root = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	-- Table width&lt;br /&gt;
	local table_width = string.gsub(args.total_width or &amp;#039;&amp;#039;,&amp;#039;%%&amp;#039;,&amp;#039;&amp;#039;)&lt;br /&gt;
	if args.total_width == &amp;#039;auto&amp;#039; or args.total_width == &amp;#039;&amp;#039; then&lt;br /&gt;
		table_width = &amp;#039;auto&amp;#039;&lt;br /&gt;
	elseif tonumber(table_width) ~= nil then&lt;br /&gt;
		table_width = table_width .. &amp;#039;%&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		table_width = &amp;#039;100%&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	root&lt;br /&gt;
		:addClass(&amp;#039;wikitable&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;plainrowheaders&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;wikiepisodetable&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;width&amp;#039;, table_width)&lt;br /&gt;
	&lt;br /&gt;
	-- Caption&lt;br /&gt;
	if args.show_caption then&lt;br /&gt;
		-- Visible caption option, with a tracking category&lt;br /&gt;
		root:tag(&amp;#039;caption&amp;#039;):wikitext(args.caption)&lt;br /&gt;
		categories = categories .. &amp;#039;[[Category:Articles using Template:Episode table with a visible caption]]&amp;#039;&lt;br /&gt;
	elseif args.caption then&lt;br /&gt;
		-- If a visible caption isn&amp;#039;t defined, then default to the screenreader-only caption&lt;br /&gt;
		root:tag(&amp;#039;caption&amp;#039;):wikitext(frame:expandTemplate{title=&amp;#039;Screen reader-only&amp;#039;,args={args.caption}})&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Colour contrast; add to category only if it&amp;#039;s in the mainspace&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	local black_cr = contrast_ratio{background, &amp;#039;black&amp;#039;, [&amp;#039;error&amp;#039;] = 0}&lt;br /&gt;
	local white_cr = contrast_ratio{&amp;#039;white&amp;#039;, background, [&amp;#039;error&amp;#039;] = 0}&lt;br /&gt;
	&lt;br /&gt;
	if title.namespace == 0 and (args.background and args.background ~= &amp;#039;&amp;#039; and args.background ~= &amp;#039;#&amp;#039;) and black_cr &amp;lt; 7 and white_cr &amp;lt; 7 then&lt;br /&gt;
		categories = categories .. &amp;#039;[[Category:Articles using Template:Episode table with invalid colour combination]]&amp;#039; &lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Main row&lt;br /&gt;
	local textColor = background and (black_cr &amp;gt; white_cr and &amp;#039;black&amp;#039; or &amp;#039;white&amp;#039;) or &amp;#039;black&amp;#039;&lt;br /&gt;
	local mainRow = root:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	mainRow&lt;br /&gt;
		:css(&amp;#039;color&amp;#039;, textColor)&lt;br /&gt;
		:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	-- Cells&lt;br /&gt;
	do&lt;br /&gt;
		local used_column = false&lt;br /&gt;
		local used_season = false&lt;br /&gt;
		local country = args.country ~= &amp;#039;&amp;#039; and args.country ~= nil&lt;br /&gt;
		local viewers = (country and args.country or &amp;#039;&amp;#039;) .. &amp;#039; &amp;#039; .. (country and &amp;#039;v&amp;#039; or &amp;#039;V&amp;#039;) .. &amp;#039;iewers&amp;#039; ..&lt;br /&gt;
			((not args.viewers_type or args.viewers_type ~= &amp;#039;&amp;#039;) and &amp;#039;&amp;lt;br /&amp;gt;(&amp;#039; .. (args.viewers_type or &amp;#039;millions&amp;#039;) .. &amp;#039;)&amp;#039; or &amp;#039;&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
		local cellNames = {&lt;br /&gt;
			{&amp;#039;overall&amp;#039;,&amp;#039;EpisodeNumber&amp;#039;,EpisodeTable.abbr(&amp;#039;No.&amp;#039;,&amp;#039;Number&amp;#039;) ..&lt;br /&gt;
				((args.season or args.series or args.EpisodeNumber2 or args.EpisodeNumber2Series or args.forceoverall) and &amp;#039;&amp;lt;br /&amp;gt;&amp;#039;..(args.overall_type or &amp;#039;overall&amp;#039;) or &amp;#039;&amp;#039;)},&lt;br /&gt;
			{&amp;#039;overall2&amp;#039;,&amp;#039;*&amp;#039;,&amp;#039;&amp;#039;},&lt;br /&gt;
			{&amp;#039;season&amp;#039;,&amp;#039;EpisodeNumber2&amp;#039;,EpisodeTable.abbr(&amp;#039;No.&amp;#039;,&amp;#039;Number&amp;#039;) .. &amp;#039; in&amp;lt;br /&amp;gt;&amp;#039;..(args.season_type or &amp;#039;season&amp;#039;)},&lt;br /&gt;
			{&amp;#039;series&amp;#039;,&amp;#039;EpisodeNumber2Series&amp;#039;,EpisodeTable.abbr(&amp;#039;No.&amp;#039;,&amp;#039;Number&amp;#039;) .. &amp;#039; in&amp;lt;br /&amp;gt;&amp;#039;..(args.series_type or &amp;#039;series&amp;#039;)},&lt;br /&gt;
			{&amp;#039;title&amp;#039;,&amp;#039;Title&amp;#039;,&amp;#039;Title&amp;#039;},&lt;br /&gt;
			{&amp;#039;aux1&amp;#039;,&amp;#039;Aux1&amp;#039;,&amp;#039;&amp;#039;},&lt;br /&gt;
			{&amp;#039;director&amp;#039;,&amp;#039;DirectedBy&amp;#039;,&amp;#039;Directed by&amp;#039;},&lt;br /&gt;
			{&amp;#039;writer&amp;#039;,&amp;#039;WrittenBy&amp;#039;,&amp;#039;Written by&amp;#039;},&lt;br /&gt;
			{&amp;#039;aux2&amp;#039;,&amp;#039;Aux2&amp;#039;,&amp;#039;&amp;#039;},&lt;br /&gt;
			{&amp;#039;aux3&amp;#039;,&amp;#039;Aux3&amp;#039;,&amp;#039;&amp;#039;},&lt;br /&gt;
			{&amp;#039;airdate&amp;#039;,&amp;#039;OriginalAirDate&amp;#039;,&amp;#039;Original release date&amp;#039;},&lt;br /&gt;
			{&amp;#039;altdate&amp;#039;,&amp;#039;AltDate&amp;#039;,&amp;#039;&amp;#039;},&lt;br /&gt;
			{&amp;#039;guests&amp;#039;,&amp;#039;Guests&amp;#039;,&amp;#039;Guest(s)&amp;#039;},&lt;br /&gt;
			{&amp;#039;musicalguests&amp;#039;,&amp;#039;MusicalGuests&amp;#039;,&amp;#039;Musical/entertainment guest(s)&amp;#039;},&lt;br /&gt;
			{&amp;#039;prodcode&amp;#039;,&amp;#039;ProdCode&amp;#039;,EpisodeTable.abbr(&amp;#039;Prod.&amp;#039;,&amp;#039;Production&amp;#039;) .. &amp;#039;&amp;lt;br /&amp;gt;code&amp;#039;},&lt;br /&gt;
			{&amp;#039;viewers&amp;#039;,&amp;#039;Viewers&amp;#039;,viewers},&lt;br /&gt;
			{&amp;#039;aux4&amp;#039;,&amp;#039;Aux4&amp;#039;,&amp;#039;&amp;#039;}&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
		for k,v in pairs(cellNames) do&lt;br /&gt;
			local thisCell = args[v[1]] or args[v[2]]&lt;br /&gt;
			if thisCell and (v[1] ~= &amp;#039;series&amp;#039; or (v[1] == &amp;#039;series&amp;#039; and used_season == false)) then&lt;br /&gt;
				used_column = true&lt;br /&gt;
				if v[1] == &amp;#039;season&amp;#039; then used_season = true end&lt;br /&gt;
				if (k &amp;lt;= 3 and thisCell == &amp;#039;&amp;#039;) then thisCell = &amp;#039;5&amp;#039; end&lt;br /&gt;
				if (thisCell == &amp;#039;&amp;#039; and defaultwidths[v[1]]) then thisCell = defaultwidths[v[1]] end&lt;br /&gt;
				if v[1] == &amp;#039;title&amp;#039; then&lt;br /&gt;
					local thisCellT = args[v[1] .. &amp;#039;T&amp;#039;] or args[v[2] .. &amp;#039;T&amp;#039;]&lt;br /&gt;
					local thisCellR = args[v[1] .. &amp;#039;R&amp;#039;] or args[v[2] .. &amp;#039;R&amp;#039;]&lt;br /&gt;
					thisCellT = (thisCellT or v[3]) .. (thisCellR and (&amp;quot;&amp;amp;#8202;&amp;quot; .. EpisodeTable.reference(thisCellR, background)) or &amp;#039;&amp;#039;)&lt;br /&gt;
					&lt;br /&gt;
					local altTitle = {&amp;quot;alttitle&amp;quot;, &amp;quot;AltTitle&amp;quot;}&lt;br /&gt;
					if args[altTitle[1] .. &amp;#039;T&amp;#039;] or args[altTitle[2] .. &amp;#039;T&amp;#039;] then&lt;br /&gt;
						local altCellT = args[altTitle[1] .. &amp;#039;T&amp;#039;] or args[altTitle[2] .. &amp;#039;T&amp;#039;]&lt;br /&gt;
						local altCellR = args[altTitle[1] .. &amp;#039;R&amp;#039;] or args[altTitle[2] .. &amp;#039;R&amp;#039;]&lt;br /&gt;
						thisCellT = thisCellT .. &amp;quot;&amp;lt;br /&amp;gt; &amp;quot; .. altCellT .. (altCellR and (&amp;quot;&amp;amp;#8202;&amp;quot; .. EpisodeTable.reference(altCellR, background)) or &amp;#039;&amp;#039;)&lt;br /&gt;
					end&lt;br /&gt;
					&lt;br /&gt;
					mainRow:node(EpisodeTable.cell(background, thisCell, thisCellT, false, textColor))&lt;br /&gt;
				else&lt;br /&gt;
					local thisCellT = args[v[1] .. &amp;#039;T&amp;#039;] or args[v[2] .. &amp;#039;T&amp;#039;]&lt;br /&gt;
					local thisCellR = args[v[1] .. &amp;#039;R&amp;#039;] or args[v[2] .. &amp;#039;R&amp;#039;]&lt;br /&gt;
					mainRow:node(EpisodeTable.cell(background, thisCell, thisCellT or v[3], thisCellR, textColor))&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if title.namespace == 0 and used_column == false then&lt;br /&gt;
			categories = categories .. &amp;#039;[[Category:Articles using Template:Episode table with no column parameters]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	&lt;br /&gt;
		-- Episodes&lt;br /&gt;
		if args.episodes then&lt;br /&gt;
			if args.anchor then &lt;br /&gt;
				args.episodes = string.gsub(args.episodes, &amp;quot;(id=\&amp;quot;)(ep%w+\&amp;quot;)&amp;quot;, &amp;quot;%1&amp;quot; .. args.anchor .. &amp;quot;%2&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			root:node(args.episodes)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    local templateStyles = mw.getCurrentFrame():extensionTag{&lt;br /&gt;
		name = &amp;#039;templatestyles&amp;#039;, args = { src = &amp;#039;Module:Episode table/styles.css&amp;#039; }&lt;br /&gt;
	}&lt;br /&gt;
	return (((args.dontclose or &amp;#039;&amp;#039;) ~= &amp;#039;&amp;#039;) and mw.ustring.gsub(tostring(root), &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;, &amp;quot;&amp;quot;) or tostring(root)) .. categories .. templateStyles&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Exports&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {&lt;br /&gt;
		removeBlanks = false,&lt;br /&gt;
		wrappers = &amp;#039;Template:Episode table&amp;#039;&lt;br /&gt;
	})&lt;br /&gt;
	local check = require(&amp;#039;Module:Check for unknown parameters&amp;#039;)._check&lt;br /&gt;
	local tracking = &amp;#039;&amp;#039;&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	if title.namespace == 0 then&lt;br /&gt;
		tracking = check({&lt;br /&gt;
			[&amp;#039;unknown&amp;#039;]=&amp;#039;[[Category:Pages using episode table with unknown parameters|_VALUE_&amp;#039;..title.text..&amp;#039;]]&amp;#039;,&lt;br /&gt;
			[&amp;#039;preview&amp;#039;]=&amp;#039;Page using [[Template:Episode table]] with unknown parameter &amp;quot;_VALUE_&amp;quot;&amp;#039;,&lt;br /&gt;
			[&amp;#039;showblankpositional&amp;#039;]=&amp;#039;y&amp;#039;,&lt;br /&gt;
			[&amp;#039;regexp1&amp;#039;]=&amp;#039;[%w_]+NULL&amp;#039;,&lt;br /&gt;
			&amp;#039;airdate&amp;#039;, &amp;#039;airdateR&amp;#039;, &amp;#039;airdateT&amp;#039;, &amp;#039;altdate&amp;#039;, &amp;#039;AltDate&amp;#039;, &amp;#039;altdateR&amp;#039;, &amp;#039;AltDateR&amp;#039;,&lt;br /&gt;
			&amp;#039;altdateT&amp;#039;, &amp;#039;AltDateT&amp;#039;, &amp;#039;alttitleT&amp;#039;, &amp;#039;alttitleR&amp;#039;, &amp;#039;AltTitleT&amp;#039;, &amp;#039;AltTitleR&amp;#039;,&lt;br /&gt;
			&amp;#039;anchor&amp;#039;, &amp;#039;aux1&amp;#039;, &amp;#039;Aux1&amp;#039;, &amp;#039;aux1R&amp;#039;, &amp;#039;Aux1R&amp;#039;, &amp;#039;aux1T&amp;#039;,&lt;br /&gt;
			&amp;#039;Aux1T&amp;#039;, &amp;#039;aux2&amp;#039;, &amp;#039;Aux2&amp;#039;, &amp;#039;aux2R&amp;#039;, &amp;#039;Aux2R&amp;#039;, &amp;#039;aux2T&amp;#039;, &amp;#039;Aux2T&amp;#039;, &amp;#039;aux3&amp;#039;, &amp;#039;Aux3&amp;#039;,&lt;br /&gt;
			&amp;#039;aux3R&amp;#039;, &amp;#039;Aux3R&amp;#039;, &amp;#039;aux3T&amp;#039;, &amp;#039;Aux3T&amp;#039;, &amp;#039;aux4&amp;#039;, &amp;#039;Aux4&amp;#039;, &amp;#039;aux4R&amp;#039;, &amp;#039;Aux4R&amp;#039;, &amp;#039;aux4T&amp;#039;,&lt;br /&gt;
			&amp;#039;Aux4T&amp;#039;, &amp;#039;b&amp;#039;, &amp;#039;background&amp;#039;, &amp;#039;c&amp;#039;, &amp;#039;caption&amp;#039;, &amp;#039;country&amp;#039;, &amp;#039;DirectedBy&amp;#039;, &amp;#039;DirectedByR&amp;#039;,&lt;br /&gt;
			&amp;#039;DirectedByT&amp;#039;, &amp;#039;director&amp;#039;, &amp;#039;directorR&amp;#039;, &amp;#039;directorT&amp;#039;, &amp;#039;dontclose&amp;#039;, &amp;#039;EpisodeNumber&amp;#039;,&lt;br /&gt;
			&amp;#039;EpisodeNumber2&amp;#039;, &amp;#039;EpisodeNumber2R&amp;#039;, &amp;#039;EpisodeNumber2Series&amp;#039;, &amp;#039;EpisodeNumber2SeriesR&amp;#039;,&lt;br /&gt;
			&amp;#039;EpisodeNumber2SeriesT&amp;#039;, &amp;#039;EpisodeNumber2T&amp;#039;, &amp;#039;EpisodeNumberR&amp;#039;, &amp;#039;EpisodeNumberT&amp;#039;,&lt;br /&gt;
			&amp;#039;episodes&amp;#039;, &amp;#039;forceoverall&amp;#039;, &amp;#039;guests&amp;#039;, &amp;#039;Guests&amp;#039;, &amp;#039;guestsR&amp;#039;, &amp;#039;GuestsR&amp;#039;, &amp;#039;guestsT&amp;#039;,&lt;br /&gt;
			&amp;#039;GuestsT&amp;#039;, &amp;#039;id&amp;#039;, &amp;#039;musicalguests&amp;#039;, &amp;#039;MusicalGuests&amp;#039;, &amp;#039;musicalguestsR&amp;#039;, &amp;#039;MusicalGuestsR&amp;#039;,&lt;br /&gt;
			&amp;#039;musicalguestsT&amp;#039;, &amp;#039;MusicalGuestsT&amp;#039;, &amp;#039;OriginalAirDate&amp;#039;, &amp;#039;OriginalAirDateR&amp;#039;,&lt;br /&gt;
			&amp;#039;OriginalAirDateT&amp;#039;, &amp;#039;overall&amp;#039;, &amp;#039;overall_type&amp;#039;, &amp;#039;overall2&amp;#039;, &amp;#039;overall2R&amp;#039;,&lt;br /&gt;
			&amp;#039;overall2T&amp;#039;, &amp;#039;overallR&amp;#039;, &amp;#039;overallT&amp;#039;, &amp;#039;prodcode&amp;#039;, &amp;#039;ProdCode&amp;#039;, &amp;#039;prodcodeR&amp;#039;,&lt;br /&gt;
			&amp;#039;ProdCodeR&amp;#039;, &amp;#039;prodcodeT&amp;#039;, &amp;#039;ProdCodeT&amp;#039;, &amp;#039;r&amp;#039;, &amp;#039;season&amp;#039;, &amp;#039;season_type&amp;#039;, &amp;#039;seasonR&amp;#039;,&lt;br /&gt;
			&amp;#039;seasonT&amp;#039;, &amp;#039;series&amp;#039;, &amp;#039;series_type&amp;#039;, &amp;#039;seriesR&amp;#039;, &amp;#039;seriesT&amp;#039;, &amp;#039;show_caption&amp;#039;,&lt;br /&gt;
			&amp;#039;subtitle&amp;#039;, &amp;#039;title&amp;#039;, &amp;#039;Title&amp;#039;, &amp;#039;titleR&amp;#039;, &amp;#039;TitleR&amp;#039;, &amp;#039;titleT&amp;#039;, &amp;#039;TitleT&amp;#039;, &amp;#039;total_width&amp;#039;,&lt;br /&gt;
			&amp;#039;viewers&amp;#039;, &amp;#039;Viewers&amp;#039;, &amp;#039;viewers_type&amp;#039;, &amp;#039;viewersR&amp;#039;, &amp;#039;ViewersR&amp;#039;, &amp;#039;viewersT&amp;#039;,&lt;br /&gt;
			&amp;#039;ViewersT&amp;#039;, &amp;#039;writer&amp;#039;, &amp;#039;writerR&amp;#039;, &amp;#039;writerT&amp;#039;, &amp;#039;WrittenBy&amp;#039;, &amp;#039;WrittenByR&amp;#039;, &amp;#039;WrittenByT&amp;#039;&lt;br /&gt;
		}, args)&lt;br /&gt;
	end&lt;br /&gt;
	return EpisodeTable.new(frame,args) .. tracking&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.part(frame)&lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {&lt;br /&gt;
		removeBlanks = false,&lt;br /&gt;
		wrappers = &amp;#039;Template:Episode table/part&amp;#039;&lt;br /&gt;
	})&lt;br /&gt;
	return EpisodeTable.part(frame,args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.ref(frame)&lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {&lt;br /&gt;
		removeBlanks = false,&lt;br /&gt;
	})&lt;br /&gt;
	return EpisodeTable.reference(args.r,args.b)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wikipedia&gt;Alex 21</name></author>
	</entry>
</feed>