CINXE.COM
View source for Module:Episode list - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-disabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-not-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>View source for Module:Episode list - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-disabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-not-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":true,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat": "dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"41dd873b-b14e-4750-a549-b7d91e31b30f","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:Episode_list","wgTitle":"Episode list","wgCurRevisionId":1249953030,"wgRevisionId":0,"wgArticleId":43237923,"wgIsArticle":false,"wgIsRedirect":false,"wgAction":"edit","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:Episode_list","wgRelevantArticleId":43237923,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["templateeditor"],"wgRestrictionMove":["templateeditor"],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true, "wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgCodeEditorCurrentLanguage":"lua","wgRelatedArticlesCompat":[],"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user": "ready","user.options":"loading","ext.codeEditor.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","mediawiki.ui.button":"ready","ext.charinsert.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.codeEditor","ext.scribunto.edit","mediawiki.action.edit.collapsibleFooter","site","mediawiki.page.ready","jquery.makeCollapsible","skins.vector.js","ext.centralNotice.geoIP","ext.charinsert","ext.gadget.ReferenceTooltips","ext.gadget.charinsert","ext.gadget.extra-toolbar-buttons","ext.gadget.refToolbar","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging", "ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.charinsert.styles%7Cext.codeEditor.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cmediawiki.ui.button%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.6"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="noindex,nofollow,max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="View source for Module:Episode list - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Module:Episode_list"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Module:Episode_list"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="codeeditor-loading skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject page-Module_Episode_list rootpage-Module_Episode_list skin-vector-2022 action-edit"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Module%3AEpisode+list&returntoquery=action%3Dedit" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Module%3AEpisode+list&returntoquery=action%3Dedit" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Module%3AEpisode+list&returntoquery=action%3Dedit" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Module%3AEpisode+list&returntoquery=action%3Dedit" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <h1 id="firstHeading" class="firstHeading mw-first-heading">View source for Module:Episode list</h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="This article exist only in this language. Add the article for other languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-0" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">Add languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="uls-after-portlet-link"></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:Episode_list" title="View the module page [c]" accesskey="c"><span>Module</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Module_talk:Episode_list" rel="discussion" class="mw-redirect" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="vector-tab-noicon mw-list-item"><a href="/wiki/Module:Episode_list"><span>Read</span></a></li><li id="ca-viewsource" class="selected vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:Episode_list&action=edit" title="This page is protected. You can view its source [e]" accesskey="e"><span>View source</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:Episode_list&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="vector-more-collapsible-item mw-list-item"><a href="/wiki/Module:Episode_list"><span>Read</span></a></li><li id="ca-more-viewsource" class="selected vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:Episode_list&action=edit"><span>View source</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:Episode_list&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Module:Episode_list" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Module:Episode_list" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Module:Episode_list&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlQ%C4%B1sald%C4%B1c%C4%B1s%C4%B1&url=https%3A%2F%2Fen.wikipedia.org%2Fw%2Findex.php%3Ftitle%3DModule%3AEpisode_list%26action%3Dedit"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrKodu&url=https%3A%2F%2Fen.wikipedia.org%2Fw%2Findex.php%3Ftitle%3DModule%3AEpisode_list%26action%3Dedit"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q17338382" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> </div> <div id="contentSub"><div id="mw-content-subtitle">← <a href="/wiki/Module:Episode_list" title="Module:Episode list">Module:Episode list</a></div></div> <div id="mw-content-text" class="mw-body-content"><p>You do not have permission to edit this page, for the following reasons: </p> <ul class="permissions-errors"><li class="mw-permissionerror-protectedpagetext"><div class="mw-parser-output"> <div class="mw-parser-output"><style data-mw-deduplicate="TemplateStyles:r1099782930">.mw-parser-output .pptext-whywhat h2{margin-top:1em;border-bottom:0;font-size:130%;font-weight:bold;padding:0.15em}.mw-parser-output .pptext-submit{list-style:none;display:inline;text-align:center}.mw-parser-output .pptext-whywhat{display:flex;flex-wrap:wrap;column-gap:2em}.mw-parser-output .pptext-whywhat>div{flex:1 1 400px}</style><style data-mw-deduplicate="TemplateStyles:r1238441935">.mw-parser-output .fmbox{clear:both;margin:0.2em 0;width:100%;border:1px solid #a2a9b1;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;color:var(--color-base,#202122)}.mw-parser-output .fmbox-warning{border:1px solid #bb7070;background-color:#ffdbdb}.mw-parser-output .fmbox-editnotice{background-color:transparent}.mw-parser-output .fmbox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .fmbox .mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .fmbox .mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .fmbox .mbox-invalid-type{text-align:center}@media screen{html.skin-theme-clientpref-night .mw-parser-output .fmbox-warning{background-color:#300}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .fmbox-warning{background-color:#300}}</style><table id="mw-protectedpagetext" class="plainlinks fmbox fmbox-system" role="presentation" style="border-style:none;"><tbody><tr><td class="mbox-text"><style data-mw-deduplicate="TemplateStyles:r1238436933">.mw-parser-output .ombox{margin:4px 0;border-collapse:collapse;border:1px solid #a2a9b1;background-color:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box;color:var(--color-base,#202122)}.mw-parser-output .ombox.mbox-small{font-size:88%;line-height:1.25em}.mw-parser-output .ombox-speedy{border:2px solid #b32424;background-color:#fee7e6}.mw-parser-output .ombox-delete{border:2px solid #b32424}.mw-parser-output .ombox-content{border:1px solid #f28500}.mw-parser-output .ombox-style{border:1px solid #fc3}.mw-parser-output .ombox-move{border:1px solid #9932cc}.mw-parser-output .ombox-protection{border:2px solid #a2a9b1}.mw-parser-output .ombox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox .mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .ombox .mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .ombox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox .mbox-invalid-type{text-align:center}@media(min-width:720px){.mw-parser-output .ombox{margin:4px 10%}.mw-parser-output .ombox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;width:238px}}body.skin--responsive .mw-parser-output table.ombox img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .ombox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .ombox-speedy{background-color:#310402}}</style><table class="plainlinks ombox ombox-protection" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/5/53/Template-protection-shackle.svg/40px-Template-protection-shackle.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/5/53/Template-protection-shackle.svg/60px-Template-protection-shackle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/5/53/Template-protection-shackle.svg/80px-Template-protection-shackle.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text" style="font-weight:bold; font-size:130%;"><div style="text-align: center;">This page is currently <a href="/wiki/Wikipedia:Protection_policy#Template_protection" title="Wikipedia:Protection policy">protected</a> so that only <a href="/wiki/Wikipedia:Template_editor" title="Wikipedia:Template editor">template editors</a> and <a href="/wiki/Wikipedia:Administrators" title="Wikipedia:Administrators">administrators</a> can edit it.</div></td></tr></tbody></table> <div class="pptext-whywhat"> <div class="pptext-why"> <div class="mw-heading mw-heading2"><h2 id="Why_is_the_page_protected?"><span id="Why_is_the_page_protected.3F"></span>Why is the page protected?</h2></div> <ul> <li>Some <a href="/wiki/Wikipedia:Template_messages" class="mw-redirect" title="Wikipedia:Template messages">templates</a> and site interface pages are permanently <a href="/wiki/Wikipedia:Protection_policy#Template_protection" title="Wikipedia:Protection policy">protected</a> due to visibility. Most templates can be edited by anyone.</li> <li>The reason for protection can be found in the <a class="external text" href="https://en.wikipedia.org/w/index.php?title=Special:Log&type=protect&page=Module%3AEpisode+list">protection log</a>. If there are no relevant entries in the protection log, the page may have been moved after being protected. </li> </ul> </div> <div class="pptext-what"> <div class="mw-heading mw-heading2"><h2 id="What_can_I_do?"><span id="What_can_I_do.3F"></span>What can I do?</h2></div> <ul> <li><a href="/wiki/Module_talk:Episode_list" class="mw-redirect" title="Module talk:Episode list">Discuss this page</a> with others.</li> <li>For move-protected pages, see <a href="/wiki/Wikipedia:Requested_moves" title="Wikipedia:Requested moves">requested moves</a>.</li> <li><a href="/wiki/Wikipedia:Requests_for_page_protection#Current_requests_for_reduction_in_protection_level" title="Wikipedia:Requests for page protection">Request that the page's protection level be reduced</a>.</li> <li><a href="/wiki/Help:Introduction" title="Help:Introduction">Find out more about how to get started editing Wikipedia</a>.</li> <li>If you have noticed an error or have a suggestion for a <b>simple, non-controversial change</b>, you can submit an edit request by clicking the button below and following the instructions. An <a href="/wiki/Wikipedia:Administrators" title="Wikipedia:Administrators">administrator</a> or <a href="/wiki/Wikipedia:Template_editor" title="Wikipedia:Template editor">template editor</a> may then make the change on your behalf. Please check <a href="/wiki/Module_talk:Episode_list" class="mw-redirect" title="Module talk:Episode list">the talk page</a> first in case the issue is already being discussed.</li> <li class="pptext-submit"><div> <p><span class="plainlinks clickbutton"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Template_talk%3AEpisode_list&preload=Template%3ASubmit+an+edit+request%2Fpreload&action=edit&section=new&editintro=Template%3AEdit+template-protected%2Feditintro&preloadtitle=Template-protected+edit+request+on+14+December+2024&preloadparams%5B%5D=edit+template-protected&preloadparams%5B%5D=Module%3AEpisode+list"><span class="mw-ui-button mw-ui-progressive">Submit an edit request</span></a></span> </p> </div></li> <li>If you wrote any text, please save it temporarily to your device until you can edit this page.</li> </ul> </div> </div></td></tr></tbody></table></div> </div></li><li class="mw-permissionerror-blockedtext"> <div id="mw-blocked-text" style="border: 1px solid #AAA; background-color: var(--background-color-warning-subtle, ivory); color: inherit; padding: 1.5em; width: 100%; box-sizing: border-box;"> <div style="text-align: center;"><span style="font-size: 26px;"><span typeof="mw:File"><a href="/wiki/File:Stop_hand_nuvola.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/en/thumb/f/f1/Stop_hand_nuvola.svg/50px-Stop_hand_nuvola.svg.png" decoding="async" width="50" height="50" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/f/f1/Stop_hand_nuvola.svg/75px-Stop_hand_nuvola.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/f/f1/Stop_hand_nuvola.svg/100px-Stop_hand_nuvola.svg.png 2x" data-file-width="240" data-file-height="240" /></a></span><b> This IP address has been <a href="/wiki/Wikipedia:Blocking_policy" title="Wikipedia:Blocking policy">blocked</a> from <i>editing</i> Wikipedia.</b></span><br /><span style="font-size: 18px;">This does not affect your ability to <i>read</i> Wikipedia pages.</span></div><div class="paragraphbreak" style="margin-top:0.5em"></div><b>Most people who see this message have done nothing wrong.</b> Some kinds of blocks restrict editing from specific service providers or telecom companies in response to recent abuse or vandalism, and can sometimes affect other users who are unrelated to that abuse. Review the information below for assistance if you do not believe that you have done anything wrong.<div class="paragraphbreak" style="margin-top:0.5em"></div> <p>The IP address or range 8.222.128.0/17 has been <a href="/wiki/Wikipedia:Blocking_policy" title="Wikipedia:Blocking policy">blocked</a> by <a href="/wiki/User:L235" title="User:L235">L235</a> for the following reason(s): </p> <div style="padding:10px; background:var(--background-color-base, white); color:inherit; border:1px #666 solid;"> <div class="user-block colocation-webhost" style="margin-bottom: 0.5em; background-color: #ffefd5; border: 1px solid #AAA; padding: 0.7em;"> <figure class="mw-halign-left" typeof="mw:File"><span><img src="//upload.wikimedia.org/wikipedia/commons/thumb/5/53/Server-multiple.svg/40px-Server-multiple.svg.png" decoding="async" width="40" height="57" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/53/Server-multiple.svg/60px-Server-multiple.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/53/Server-multiple.svg/80px-Server-multiple.svg.png 2x" data-file-width="744" data-file-height="1052" /></span><figcaption></figcaption></figure><b>The <a href="/wiki/IP_address" title="IP address">IP address</a> that you are currently using has been blocked because it is believed to be a <a href="/wiki/Web_hosting_service" title="Web hosting service">web host provider</a> or <a href="/wiki/Colocation_centre" title="Colocation centre">colocation provider</a>.</b> To prevent abuse, <a href="/wiki/Wikipedia:Open_proxies" title="Wikipedia:Open proxies">web hosts and colocation providers may be blocked</a> from editing Wikipedia. <div style="border-top: 1px solid #AAA; clear: both">You will not be able to edit Wikipedia using a web host or colocation provider because it hides your IP address, much like a <a href="/wiki/Wikipedia:Open_proxies" title="Wikipedia:Open proxies">proxy</a> or <a href="/wiki/Virtual_private_network" title="Virtual private network">VPN</a>. <p><b>We recommend that you attempt to use another connection to edit.</b> For example, if you use a proxy or VPN to connect to the internet, turn it off when editing Wikipedia. If you edit using a mobile connection, try using a Wi-Fi connection, and vice versa. If you are using a corporate internet connection, switch to a different Wi-Fi network. If you have a Wikipedia account, please log in. </p><p>If you do not have any other way to edit Wikipedia, you will need to <a href="/wiki/Wikipedia:IP_block_exemption#Requesting_and_granting_exemption" title="Wikipedia:IP block exemption">request an IP block exemption</a>. </p> <style data-mw-deduplicate="TemplateStyles:r1214851843">.mw-parser-output .hidden-begin{box-sizing:border-box;width:100%;padding:5px;border:none;font-size:95%}.mw-parser-output .hidden-title{font-weight:bold;line-height:1.6;text-align:left}.mw-parser-output .hidden-content{text-align:left}@media all and (max-width:500px){.mw-parser-output .hidden-begin{width:auto!important;clear:none!important;float:none!important}}</style><div class="hidden-begin mw-collapsible mw-collapsed" style=""><div class="hidden-title skin-nightmode-reset-color" style="text-align:center;">How to appeal if you are confident that your connection does not use a colocation provider's IP address:</div><div class="hidden-content mw-collapsible-content" style=""> If you are confident that you are not using a web host, you may <a href="/wiki/Wikipedia:Appealing_a_block" title="Wikipedia:Appealing a block">appeal this block</a> by adding the following text on your <a href="/wiki/Help:Talk_pages" title="Help:Talk pages">talk page</a>: <code>{{<a href="/wiki/Template:Unblock" title="Template:Unblock">unblock</a>|reason=Caught by a colocation web host block but this host or IP is not a web host. My IP address is _______. <i>Place any further information here.</i> ~~~~}}</code>. <b>You must fill in the blank with your IP address for this block to be investigated.</b> Your IP address can be determined <span class="plainlinks"><b><a class="external text" href="https://en.wikipedia.org/wiki/Wikipedia:Get_my_IP_address?withJS=MediaWiki:Get-my-ip.js">here</a></b></span>. Alternatively, if you wish to keep your IP address private you can use the <a href="/wiki/Wikipedia:Unblock_Ticket_Request_System" title="Wikipedia:Unblock Ticket Request System">unblock ticket request system</a>. There are several reasons you might be editing using the IP address of a web host or colocation provider (such as if you are using VPN software or a business network); please use this method of appeal only if you think your IP address is in fact not a web host or colocation provider.</div></div> <p><span class="sysop-show" style="font-size: 85%;"><span style="border:#707070 solid 1px;background-color:#ffe0e0;padding:2px"><b>Administrators:</b></span> The <a href="/wiki/Wikipedia:IP_block_exemption" title="Wikipedia:IP block exemption">IP block exemption</a> user right should only be applied to allow users to edit using web host in exceptional circumstances, and requests should usually be directed to the functionaries team via email. If you intend to give the IPBE user right, a <a href="/wiki/Wikipedia:CheckUser" title="Wikipedia:CheckUser">CheckUser</a> needs to take a look at the account. This can be requested most easily at <a href="/wiki/Wikipedia:SPI#Quick_CheckUser_requests" class="mw-redirect" title="Wikipedia:SPI">SPI Quick Checkuser Requests</a>. <b>Unblocking</b> an IP or IP range with this template <b>is highly discouraged</b> without at least contacting the blocking administrator.</span> </p> </div></div> </div> <p>This block will expire on 18:23, 24 August 2026. Your current IP address is 8.222.208.146. </p> <div class="paragraphbreak" style="margin-top:0.5em"></div><div style="font-size: 16px;"> <p>Even when blocked, you will <i>usually</i> still be able to edit your <a href="/wiki/Special:MyTalk" title="Special:MyTalk">user talk page</a>, as well as <a href="/wiki/Wikipedia:Emailing_users" title="Wikipedia:Emailing users">email</a> administrators and other editors. </p> </div> <div class="paragraphbreak" style="margin-top:0.5em"></div><div style="font-size: 16px;"> <p>For information on how to proceed, please read the <b><a href="/wiki/Wikipedia:Appealing_a_block#Common_questions" title="Wikipedia:Appealing a block">FAQ for blocked users</a></b> and the <a href="/wiki/Wikipedia:Appealing_a_block" title="Wikipedia:Appealing a block">guideline on block appeals</a>. The <a href="/wiki/Wikipedia:Guide_to_appealing_blocks" title="Wikipedia:Guide to appealing blocks">guide to appealing blocks</a> may also be helpful. </p> </div> <p>Other useful links: <a href="/wiki/Wikipedia:Blocking_policy" title="Wikipedia:Blocking policy">Blocking policy</a> · <a href="/wiki/Help:I_have_been_blocked" title="Help:I have been blocked">Help:I have been blocked</a> </p> </div></li><li class="mw-permissionerror-globalblocking-blockedtext-range"> <div id="mw-blocked-text" style="border: 1px solid #AAA; background-color: var(--background-color-warning-subtle, ivory); color: inherit; padding: 1.5em; width: 100%; box-sizing: border-box;"> <div style="text-align: center;"><span style="font-size: 26px;"><span typeof="mw:File"><a href="/wiki/File:Stop_hand_nuvola.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/en/thumb/f/f1/Stop_hand_nuvola.svg/50px-Stop_hand_nuvola.svg.png" decoding="async" width="50" height="50" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/f/f1/Stop_hand_nuvola.svg/75px-Stop_hand_nuvola.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/f/f1/Stop_hand_nuvola.svg/100px-Stop_hand_nuvola.svg.png 2x" data-file-width="240" data-file-height="240" /></a></span><b> This IP address range has been <a href="https://meta.wikimedia.org/wiki/Global_blocks" class="extiw" title="m:Global blocks">globally blocked</a>.</b></span><br /><span style="font-size: 18px;">This does not affect your ability to <i>read</i> Wikipedia pages.</span></div><div class="paragraphbreak" style="margin-top:0.5em"></div><b>Most people who see this message have done nothing wrong.</b> Some kinds of blocks restrict editing from specific service providers or telecom companies in response to recent abuse or vandalism, and can sometimes affect other users who are unrelated to that abuse. Review the information below for assistance if you do not believe that you have done anything wrong.<div class="paragraphbreak" style="margin-top:0.5em"></div><div class="paragraphbreak" style="margin-top:0.5em"></div> <p>This block affects editing on all Wikimedia wikis. </p><p>The IP address or range 8.222.128.0/17 has been globally <a href="/wiki/Wikipedia:Blocking_policy" title="Wikipedia:Blocking policy">blocked</a> by <a href="/wiki/User:Jon_Kolbert" title="User:Jon Kolbert">Jon Kolbert</a> for the following reason(s): </p> <div style="padding:10px; background:var(--background-color-base, white); color:inherit; border:1px #666 solid;"> <p><a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/NOP" class="extiw" title="m:Special:MyLanguage/NOP">Open proxy/Webhost</a>: See the <a href="https://meta.wikimedia.org/wiki/WM:OP/H" class="extiw" title="m:WM:OP/H">help page</a> if you are affected </p> </div> <p>This block will expire on 15:12, 27 August 2028. Your current IP address is 8.222.208.146. </p> <div class="paragraphbreak" style="margin-top:0.5em"></div><div style="font-size: 16px;"> <p>Even while globally blocked, you will <i>usually</i> still be able to edit pages on <a href="https://meta.wikimedia.org/wiki/" class="extiw" title="m:">Meta-Wiki</a>. </p> </div> <div class="paragraphbreak" style="margin-top:0.5em"></div><div style="font-size: 16px;"> <p>If you believe you were blocked by mistake, you can find additional information and instructions in the <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/No_open_proxies" class="extiw" title="m:Special:MyLanguage/No open proxies">No open proxies</a> global policy. Otherwise, to discuss the block please <a href="https://meta.wikimedia.org/wiki/Steward_requests/Global" class="extiw" title="m:Steward requests/Global">post a request for review on Meta-Wiki</a>. You could also send an email to the <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Stewards" class="extiw" title="m:Special:MyLanguage/Stewards">stewards</a> <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/VRT" class="extiw" title="m:Special:MyLanguage/VRT">VRT</a> queue at <kbd>stewards@wikimedia.org</kbd> including all above details. </p> </div> <p>Other useful links: <a href="https://meta.wikimedia.org/wiki/Global_blocks" class="extiw" title="m:Global blocks">Global blocks</a> · <a href="/wiki/Help:I_have_been_blocked" title="Help:I have been blocked">Help:I have been blocked</a> </p> </div></li></ul><hr /> <div id="viewsourcetext">You can view and copy the source of this page:</div><textarea readonly="" accesskey="," id="wpTextbox1" cols="80" rows="25" style="" class="mw-editfont-monospace" lang="en" dir="ltr" name="wpTextbox1">local p = {} -- This module requires the use of the following modules: local colorContrastModule = require('Module:Color contrast') local htmlColor = mw.loadData('Module:Color contrast/colors') local langModule = require("Module:Lang") local mathModule = require('Module:Math') local tableEmptyCellModule = require('Module:Table empty cell') local yesNoModule = require('Module:Yesno') -- mw.html object for the generated row. local row -- Variable that will decide the colspan= of the Short Summary cell. local nonNilParams = 0 -- Variable that will keep track if a TBA value was entered. local cellValueTBA = false -- Variable that handles the assigned tracking categories. local trackingCategories = "" -- List of tracking categories. local trackingCategoryList = { ["air_dates"] = "[[Category:Episode lists with unformatted air dates]]", ["alt_air_dates"] = "[[Category:Episode lists with incorrectly formatted alternate air dates]]", ["faulty_line_colors"] = "[[Category:Episode lists with faulty line colors]]", ["non_compliant_line_colors"] = "[[Category:Episode lists with non-compliant line colors]]", ["default_line_colors"] = "[[Category:Episode list using the default LineColor]]", ["row_deviations"] = "[[Category:Episode lists with row deviations]]", ["invalid_top_colors"] = "[[Category:Episode lists with invalid top colors]]", ["tba_values"] = "[[Category:Episode lists with TBA values]]", ["nonmatching_numbered_parameters"] = "[[Category:Episode lists with a non-matching set of numbered parameters]]", ["raw_unformatted_storyteleplay"] = "[[Category:Episode lists with unformatted story or teleplay credits]]", } -- List of parameter names in this order. local cellNameList = { 'EpisodeNumber', 'EpisodeNumber2', 'Title', 'Aux1', 'DirectedBy', 'WrittenBy', 'Aux2', 'Aux3', 'OriginalAirDate', 'AltDate', 'Guests', 'MusicalGuests', 'ProdCode', 'Viewers', 'Aux4' } -- List of pairs which cannot be used together local excludeList = { ['Guests'] = 'Aux1', ['MusicalGuests'] = 'Aux2' } -- List of cells that have parameter groups local parameterGroupCells = {} local firstParameterGroupCell local parameterGroupCellsAny = false -- List of title parameter names in this order. -- List used for multi title lists. local titleList = { 'Title', 'RTitle', 'AltTitle', 'RAltTitle', 'NativeTitle', 'TranslitTitle', } -- Local function which is used to retrieve the episode number or production code number, -- without any additional text. local function idTrim(val, search) local valFind = string.find(val, search) if (valFind == nil) then return val else return string.sub(val, 0, valFind-1) end end -- Local function which is used to validate that a parameter has an actual value. local function hasValue(param) if (param ~= nil and param ~= "") then return true else return false end end -- Local function which is used to create a table data cell. local function createTableData(text, rowSpan, textAlign) if (rowSpan ~= nil and tonumber(rowSpan) > 1) then row:tag('td') :attr('rowspan', rowSpan) :wikitext(text) else row:tag('td') :css('text-align', textAlign) :wikitext(text) end end -- Local function which is used to add a tracking category to the page. local function addTrackingCategory(category) trackingCategories = trackingCategories .. category end -- Local function which is used to create a Short Summary row. local function createShortSummaryRow(args, lineColor) -- fix for lists in the Short Summary local shortSummaryText = args.ShortSummary if (shortSummaryText:match('^[*:;#]') or shortSummaryText:match('^{|')) then shortSummaryText = '<span></span>\n' .. shortSummaryText end if (shortSummaryText:match('\n[*:;#]')) then shortSummaryText = shortSummaryText .. '\n<span></span>' end local shortSummaryDiv = mw.html.create('div') :addClass('shortSummaryText') :css('max-width', '90vw') :css('position', 'sticky') :css('left', '0.2em') :newline() :wikitext(shortSummaryText) local shortSummaryCell = mw.html.create('td') :addClass('description') :css('border-bottom', 'solid 3px ' .. lineColor) :attr('colspan', nonNilParams) :newline() :node(shortSummaryDiv) return mw.html.create('tr') :addClass('expand-child') :node(shortSummaryCell) end -- Local function which is used to add tracking categories for Top Color issues. local function addTopColorTrackingCategories(args) if (hasValue(args.TopColor)) then addTrackingCategory(trackingCategoryList["row_deviations"]) -- Track top colors that have a color contrast rating below AAA with -- respect to text color, link color, or visited link color. See -- [[WP:COLOR]] for more about color contrast requirements. local textContrastRatio = colorContrastModule._ratio{args.TopColor, 'black', ['error'] = 0} local linkContrastRatio = colorContrastModule._ratio{args.TopColor, '#0B0080', ['error'] = 0} local visitedLinkContrastRatio = colorContrastModule._ratio{args.TopColor, '#0645AD', ['error'] = 0} if (textContrastRatio < 7 or linkContrastRatio < 7 or visitedLinkContrastRatio < 7) then addTrackingCategory(trackingCategoryList["invalid_top_colors"]) end end end -- Local function which is used to add tracking categories for Line Color issues. local function addLineColorTrackingCategories(args) if (hasValue(args.LineColor)) then local blackContrastRatio = colorContrastModule._ratio{args.LineColor, 'black', ['error'] = 0} local whiteContrastRatio = colorContrastModule._ratio{'white', args.LineColor, ['error'] = 0} if (colorContrastModule._lum(args.LineColor) == '') then addTrackingCategory(trackingCategoryList["faulty_line_colors"]) elseif (blackContrastRatio < 7 and whiteContrastRatio < 7) then addTrackingCategory(trackingCategoryList["non_compliant_line_colors"]) end else addTrackingCategory(trackingCategoryList["default_line_colors"]) end end -- Local function which is used to set the text of an empty cell -- with either "TBD" or "N/A". -- Set to N/A if viewers haven't been available for four weeks, else set it as TBD. local function setTBDStatus(args, awaitingText, expiredText, weeks) if args.OriginalAirDate == nil or args.OriginalAirDate == '' then return tableEmptyCellModule._main({alt_text = awaitingText, title_text = awaitingText}) end local month, day, year = args.OriginalAirDate:gsub("&nbsp;", " "):match("(%a+) (%d+), (%d+)") if (month == nil) then day, month, year = args.OriginalAirDate:gsub("&nbsp;", " "):match("(%d+) (%a+) (%d+)") end if (day == nil) then return tableEmptyCellModule._main({alt_text = "TBD"}) else -- List of months. local monthList = { ['January'] = 1, ['February'] = 2, ['March'] = 3, ['April'] = 4, ['May'] = 5, ['June'] = 6, ['July'] = 7, ['August'] = 8, ['September'] = 9, ['October'] = 10, ['November'] = 11, ['December'] = 12 } if not monthList[month] then error('Invalid month ' .. month) end local seconds = os.time() - os.time({year = year, month = monthList[month], day = day, hour = 0, min = 0, sec = 0}) if (seconds >= 60 * 60 * 24 * 7 * weeks) then return tableEmptyCellModule._main({alt_text = expiredText, title_text = expiredText}) else return tableEmptyCellModule._main({alt_text = awaitingText, title_text = awaitingText}) end end end -- Local function which is used to create an empty cell. local function createEmptyCell(args, v, unsetParameterGroup) if (unsetParameterGroup) then args[v] = tableEmptyCellModule._main({alt_text = "N/A"}) elseif (v == 'Viewers' and hasValue(args.OriginalAirDate)) then args[v] = setTBDStatus(args, "TBD", "N/A", 4) elseif (v == 'DirectedBy' or v == 'WrittenBy') then args[v] = setTBDStatus(args, "TBA", "Unknown", 4) else args[v] = tableEmptyCellModule._main({}) end end -- Air dates that don't use {{Start date}} local function checkUsageOfDateTemplates(args, v, onInitialPage, title) if (v == 'OriginalAirDate' and args[v] ~= '' and string.match(args[v], '%d%d%d%d') ~= nil and string.match(args[v], '2C2C2C') == nil and string.find(args[v], 'itvstart') == nil -- itvstart is a {{Start date}} unique class. --and string.find(args[v], "film%-date") ~= nil -- Checks that {{Film date}} isn't used as it uses {{Start date}}. and onInitialPage and title.namespace == 0) then addTrackingCategory(trackingCategoryList["air_dates"]) end -- Alternate air dates that do use {{Start date}} if (v == 'AltDate' and args[v] ~= '' and string.find(args[v], 'dtstart') ~= nil and onInitialPage and title.namespace == 0) then addTrackingCategory(trackingCategoryList["alt_air_dates"]) end end -- Local function which is used to create a Production Code cell. local function createProductionCodeCell(args, v, numberOfParameterGroups) local thisRowspan if (not parameterGroupCells[v] and parameterGroupCellsAny) then thisRowspan = numberOfParameterGroups else thisRowspan = 1 end if (hasValue(args.ProdCode) and string.find(args.ProdCode, 'TBA') == nil) then row:tag('td') :attr('id', 'pc' .. idTrim(idTrim(args.ProdCode, ' ----'), '<')) :attr('rowspan', thisRowspan) :css('text-align', 'center') :wikitext(args.ProdCode) elseif (args.ProdCode == '' or string.find(args.ProdCode or '', 'TBA') ~= nil) then createEmptyCell(args, v, false) createTableData(args.ProdCode, thisRowspan, "center") else -- ProductionCode parameter not used; Do nothing. end nonNilParams = nonNilParams + 1 end --[[ Local function which is used to extract data from the numbered serial parameters (Title1, Aux1, etc.), and then convert them to use the non-numbered parameter names (Title, Aux). The function returns the args as non-numbered prameter names. ]]-- local function extractDataFromNumberedSerialArgs(args, i, numberOfParameterGroups, title) for _, v in ipairs(cellNameList) do local parameter = v local numberedParameter = v .. "_" .. i local excludeParameter = excludeList[parameter] or 'NULL' .. parameter local excludeNumberParameter = (excludeList[numberedParameter] or 'NULL' .. parameter) .. "_" .. i if (not hasValue(args[numberedParameter]) and not hasValue(args[excludeNumberParameter]) and hasValue(parameterGroupCells[parameter]) and not hasValue(args[excludeParameter])) then if (v ~= 'ProdCode') then createEmptyCell(args, parameter, true) else args[parameter] = '' end if (title.namespace == 0) then addTrackingCategory(trackingCategoryList["nonmatching_numbered_parameters"]) end elseif (hasValue(args[numberedParameter]) and not hasValue(args[excludeNumberParameter])) then args[parameter] = args[numberedParameter] end end return args end --[[ Local function which is used to create the Title cell text. The title text will be handled in the following way: Line 1: <Title><RTitle> (with no space between) Line 2: <AltTitle><RAltTitle> (with no space between) OR Line 2: Transliteration: <TranslitTitle> (<Language>: <NativeTitle>)<RAltTitle> (with space between first two parameters) If <Title> or <RTitle> are empty, then the values of line 2 will be placed on line 1 instead. --]] local function createTitleText(args) local titleString = '' local isCellPresent = false local useSecondLine = false local lineBreakUsed = false -- Surround the Title with quotes; No quotes if empty. if (args.Title ~= nil) then if (args.Title == "") then isCellPresent = true else titleString = '"' .. args.Title .. '"' useSecondLine = true isCellPresent = true end end if (args.RTitle ~= nil) then if (args.RTitle == "") then isCellPresent = true else titleString = titleString .. args.RTitle useSecondLine = true isCellPresent = true end end -- Surround the AltTitle/TranslitTitle with quotes; No quotes if empty. if (args.AltTitle or args.TranslitTitle) then isCellPresent = true if (useSecondLine) then titleString = titleString .. "<br />" lineBreakUsed = true end if (hasValue(args.AltTitle)) then titleString = titleString .. '"' .. args.AltTitle .. '"' elseif (hasValue(args.TranslitTitle)) then if (hasValue(args.NativeTitleLangCode)) then titleString = titleString .. 'Transliteration: "' .. langModule._transl({args.NativeTitleLangCode, args.TranslitTitle, italic = 'no'}) .. '"' else titleString = titleString .. 'Transliteration: "' .. args.TranslitTitle .. '"' end end end if (args.NativeTitle ~= nil) then if (args.NativeTitle == "") then isCellPresent = true else isCellPresent = true if (useSecondLine and lineBreakUsed == false) then titleString = titleString .. "<br />" end if (hasValue(args.NativeTitleLangCode)) then local languageCode = "Lang-" .. args.NativeTitleLangCode titleString = titleString .. " (" .. langModule._langx({code = args.NativeTitleLangCode, text=args.NativeTitle}) .. ")" else titleString = titleString .. " (" .. args.NativeTitle .. ")" end end end if (args.RAltTitle ~= nil) then if (args.RAltTitle == "") then isCellPresent = true else isCellPresent = true if (useSecondLine and lineBreakUsed == false) then titleString = titleString .. "<br />" end titleString = titleString .. args.RAltTitle end end return titleString, isCellPresent end --[[ Local function which is used to extract data from the numbered title parameters (Title1, RTitle2, etc.), and then convert them to use the non-numbered prameter names (Title, RTitle). The function returns two results: -- The args parameter table. -- A boolean indicating if the title group has data. ]]-- local function extractDataFromNumberedTitleArgs(args, i) local nextGroupValid = false for _, v in ipairs(titleList) do local parameter = v local numberedParameter = v .. "_" .. i args[parameter] = args[numberedParameter] if (nextGroupValid == false and hasValue(args[numberedParameter])) then nextGroupValid = true end end return args, nextGroupValid end -- Local function which is used to create a Title cell. local function createTitleCell(args, numberOfParameterGroups, currentRow, isSerial) local titleText local isCellPresent if (isSerial and args.Title and currentRow > 1) then return nil end if (args.Title_2) then local args, nextGroupValid = extractDataFromNumberedTitleArgs(args, currentRow) end titleText, isCellPresent = createTitleText(args) if (isCellPresent == false) then return nil end local textAlign = "left" -- If Title is blank, then set Raw Title to TBA if (hasValue(titleText) == false) then titleText = tableEmptyCellModule._main({}) textAlign = "left" end -- If title is the first cell, create it with a !scope="row" if (nonNilParams == 0) then if (isSerial) then row:tag('th') :addClass('summary') :attr('scope', 'row') :attr('rowspan', numberOfParameterGroups) :css('text-align', textAlign) :wikitext(titleText) else row:tag('th') :addClass('summary') :attr('scope', 'row') :css('text-align', textAlign) :wikitext(titleText) end else if (isSerial) then row:tag('td') :addClass('summary') :attr('rowspan', numberOfParameterGroups) :css('text-align', textAlign) :wikitext(titleText) else row:tag('td') :addClass('summary') :css('text-align', textAlign) :wikitext(titleText) end end nonNilParams = nonNilParams + 1 end --[[ Local function which is used to create column cells. EpisodeNumber, EpisodeNumber2 are created in different functions as they require some various if checks. See: -- createEpisodeNumberCell() -- createEpisodeNumberCellSecondary() ]]-- local function createCells(args, isSerial, currentRow, onInitialPage, title, numberOfParameterGroups) for k, v in ipairs(cellNameList) do if (v == 'ProdCode') then if (currentRow == 1 or (currentRow > 1 and parameterGroupCells[v])) then createProductionCodeCell(args, v, numberOfParameterGroups) end elseif (v == 'Title') then if (currentRow == 1 or (currentRow > 1 and parameterGroupCells[v])) then local isSerial = not args.Title_2 and true or false createTitleCell(args, numberOfParameterGroups, currentRow, isSerial) end elseif excludeList[v] and args[excludeList[v]] then -- Ignore this parameter set as multiple conflicting parameters were used elseif (args[v] and (v ~= 'EpisodeNumber' and v ~= 'EpisodeNumber2')) then -- Set empty cells to TBA/TBD if (args[v] == '') then createEmptyCell(args, v, false) elseif (v == 'WrittenBy' and title.namespace == 0) then if ((string.find(args[v], "''Story") ~= nil or string.find(args[v], "''Teleplay") ~= nil) and string.find(args[v], "8202") == nil) then -- &#8202; is the hairspace added through {{StoryTeleplay}} addTrackingCategory(trackingCategoryList["raw_unformatted_storyteleplay"]) end end -- If serial titles need to be centered and not left, then this should be removed. local textAlign = "center" if (v == 'Aux1' and isSerial) then textAlign = "left" end local thisRowspan if (not parameterGroupCells[v] and parameterGroupCellsAny) then thisRowspan = numberOfParameterGroups else thisRowspan = 1 end if (currentRow == 1 or (currentRow > 1 and parameterGroupCells[v])) then createTableData(args[v], thisRowspan, textAlign) end nonNilParams = nonNilParams + 1 checkUsageOfDateTemplates(args, v, onInitialPage, title) end if (args[v] == "TBA") then cellValueTBA = true end end end -- Local function which is used to create a table row header for either the -- EpisodeNumber or EpisodeNumber2 column cells. local function createTableRowEpisodeNumberHeader(episodeNumber, numberOfParameterGroups, episodeText, separateEpisodeNumbers) local epID = string.match(episodeNumber, "^%w+") row:tag('th') :attr('scope', 'row') :attr('rowspan', not separateEpisodeNumbers and numberOfParameterGroups or 1) :attr('id', epID and 'ep' .. epID or '') :css('text-align', 'center') :wikitext(episodeText) end --[[ Local function which is used to extract the text from the EpisodeNumber or EpisodeNumber2 parameters and format them into a correct MoS compliant version. Styles supported: -- A number range of two numbers, indicating the start and end of the range, seperated by an en-dash (–) with no spaces in between. Example: "1 - 2" -> "1–2"; "1-2-3" -> "1–3". -- An alphanumeric or letter range, similar to the above. Example: "A - B" -> "A–B"; "A-B-C" -> "A–C". Example: "A1 - B1" -> "A1–B1"; "A1-B1-C1" -> "A1–C1". -- A number range of two numbers, indicating the start and end of the range, seperated by a visual <hr /> (divider line). -- An alphanumeric or letter range, similar to the above. ]]-- local function getEpisodeText(episodeNumber) if (episodeNumber == '') then return tableEmptyCellModule._main({}) else local episodeNumber1 local episodeNumber2 -- Used for double episodes that need a visual "–"" or "<hr />"" added. local divider episodeNumber = episodeNumber:gsub('%s*<br%s*/?%s*>%s*', '<hr />') if (episodeNumber:match('^(%w+)%s*<hr */%s*>%s*(%w+)$')) then episodeNumber1, episodeNumber2 = episodeNumber:match('^(%w+)%s*<hr */%s*>%s*(%w+)$') divider = "<hr />" elseif (episodeNumber:match('^(%w+)%s*<hr */%s*>.-<hr */%s*>%s*(%w+)$')) then -- 3 or more elements episodeNumber1, episodeNumber2 = episodeNumber:match('^(%w+)%s*<hr */%s*>.-<hr */%s*>%s*(%w+)$') divider = "<hr />" elseif (mw.ustring.match(episodeNumber, '^(%w+)%s*[%s%-–/&]%s*(%w+)$')) then episodeNumber1, episodeNumber2 = mw.ustring.match(episodeNumber, '^(%w+)%s*[%s%-–/&]%s*(%w+)$') divider = "–" else episodeNumber1, episodeNumber2 = mw.ustring.match(episodeNumber, '^(%w+)%s*[%s%-–/&].-[%s%-–/&]%s*(%w+)$') -- 3 or more elements divider = "–" end if (not episodeNumber1) then return episodeNumber elseif (not episodeNumber2) then return string.match(episodeNumber, '%w+') else return episodeNumber1 .. divider .. episodeNumber2 end end end -- Local function which is used to create EpisodeNumber2 and EpisodeNumber3 cells. local function _createEpisodeNumberCellSecondary(episodeValue, numberOfParameterGroups, separateEpisodeNumbers) if (episodeValue) then local episodeText = getEpisodeText(episodeValue) if (nonNilParams == 0) then createTableRowEpisodeNumberHeader(episodeValue, numberOfParameterGroups, episodeText, separateEpisodeNumbers) else createTableData(episodeText, not separateEpisodeNumbers and numberOfParameterGroups or 1, "center") end nonNilParams = nonNilParams + 1 end end -- Local function which is used to create seconday episode number cells. local function createEpisodeNumberCellSecondary(args, numberOfParameterGroups, separateEpisodeNumbers) _createEpisodeNumberCellSecondary(args.EpisodeNumber2, numberOfParameterGroups, separateEpisodeNumbers) _createEpisodeNumberCellSecondary(args.EpisodeNumber3, numberOfParameterGroups, separateEpisodeNumbers) end -- Local function which is used to create an EpisodeNumber cell. local function createEpisodeNumberCell(args, numberOfParameterGroups, separateEpisodeNumbers) if (args.EpisodeNumber) then local episodeText = getEpisodeText(args.EpisodeNumber) createTableRowEpisodeNumberHeader(args.EpisodeNumber, numberOfParameterGroups, episodeText, separateEpisodeNumbers) nonNilParams = nonNilParams + 1 end end -- Local function which is used to create a single row of cells. -- This is the standard function called. local function createSingleRowCells(args, numberOfParameterGroups, multiTitleListEnabled, onInitialPage, title) createEpisodeNumberCell(args, 1, false) createEpisodeNumberCellSecondary(args, 1, false) createCells(args, false, 1, onInitialPage, title, numberOfParameterGroups) end -- Local function which is used to create a multiple row of cells. -- This function is called when part of the row is rowspaned. local function createMultiRowCells(args, numberOfParameterGroups, onInitialPage, title, topColor) local EpisodeNumberSplit = (args.EpisodeNumber_1 and true or false) for i = 1, numberOfParameterGroups do args = extractDataFromNumberedSerialArgs(args, i, numberOfParameterGroups, title) if (EpisodeNumberSplit or (not EpisodeNumberSplit and i == 1)) then createEpisodeNumberCell(args, numberOfParameterGroups, EpisodeNumberSplit) createEpisodeNumberCellSecondary(args, numberOfParameterGroups, EpisodeNumberSplit) end createCells(args, true, i, onInitialPage, title, numberOfParameterGroups) if (i ~= numberOfParameterGroups) then local textColor = '#333' if topColor == 'inherit' then textColor = 'inherit' end row = row:done() -- Use done() to close the 'tr' tag in rowspaned rows. :tag('tr') :addClass('vevent') :addClass('module-episode-list-row') :css('text-align', 'center') :css('background', topColor) :css('color', textColor) end end end -- Local function which is used to retrieve the NumParts value. local function getnumberOfParameterGroups(args) for k, v in ipairs(cellNameList) do local numberedParameter = v .. "_" .. 1 if (args[numberedParameter]) then parameterGroupCells[v] = true parameterGroupCellsAny = true if not firstParameterGroupCell then firstParameterGroupCell = k end end end if (hasValue(args.NumParts)) then return args.NumParts, true else return 1, false end end -- Local function which is used to retrieve the Top Color value. local function getTopColor(args, rowColorEnabled, onInitialPage) local episodeNumber = mathModule._cleanNumber(args.EpisodeNumber) or 1 if (args.TopColor) then if (string.find(args.TopColor, "#")) then return args.TopColor else return '#' .. args.TopColor end else return 'inherit' end end -- Local function which is used to retrieve the Row Color value. local function isRowColorEnabled(args) local rowColorEnabled = yesNoModule(args.RowColor, false) if (args.RowColor and string.lower(args.RowColor) == 'on') then rowColorEnabled = true end return rowColorEnabled end -- Local function which is used to retrieve the Line Color value. local function getLineColor(args) -- Default color to light blue local lineColor = args.LineColor or 'CCCCFF' -- Add # to color if necessary, and set to default color if invalid if (htmlColor[lineColor] == nil) then lineColor = '#' .. (mw.ustring.match(lineColor, '^[%s#]*([a-fA-F0-9]*)[%s]*$') or '') if (lineColor == '#') then lineColor = '#CCCCFF' end end return lineColor end -- Local function which is used to check if the table is located on the page -- currently viewed, or on a transcluded page instead. -- If it is on a transcluded page, the episode summary should not be shown. local function isOnInitialPage(args, sublist, pageTitle, initiallistTitle) -- This should be the only check needed, however, it was previously implemented with two templates -- with one of them not requiring an article name, so for backward compatability, the whole sequence is kept. local onInitialPage -- Only sublist had anything about hiding, so only it needs to even check if (sublist) then onInitialPage = mw.uri.anchorEncode(pageTitle) == mw.uri.anchorEncode(initiallistTitle) -- avoid processing ghost references if (not onInitialPage) then args.ShortSummary = nil end else if (initiallistTitle == "") then onInitialPage = true else onInitialPage = mw.uri.anchorEncode(pageTitle) == mw.uri.anchorEncode(initiallistTitle) end end return onInitialPage end -- Local function which does the actual main process. local function _main(args, sublist) local title = mw.title.getCurrentTitle() local pageTitle = title.text local initiallistTitle = args['1'] or '' -- Is this list on the same page as the page directly calling the template? local onInitialPage = isOnInitialPage(args, sublist, pageTitle, initiallistTitle) -- Need just this parameter removed if blank, no others if (hasValue(args.ShortSummary) == false) then args.ShortSummary = nil end local lineColor = getLineColor(args) local rowColorEnabled = isRowColorEnabled(args) local topColor = getTopColor(args, rowColorEnabled, onInitialPage) local root = mw.html.create() -- Create the root mw.html object to return local textColor = '#333' if topColor == 'inherit' then textColor = 'inherit' end row = root:tag('tr') -- Create the table row and store it globally :addClass('vevent') :addClass('module-episode-list-row') :css('text-align', 'center') :css('background', topColor) :css('color', textColor) local numberOfParameterGroups, multiTitleListEnabled = getnumberOfParameterGroups(args) if (multiTitleListEnabled) then createMultiRowCells(args, numberOfParameterGroups, onInitialPage, title, topColor) else createSingleRowCells(args, numberOfParameterGroups, multiTitleListEnabled, onInitialPage, title) end -- add these categories only in the mainspace and only if they are on the page where the template is used if (onInitialPage and title.namespace == 0) then addLineColorTrackingCategories(args) addTopColorTrackingCategories(args) end if (cellValueTBA == true and title.namespace == 0) then addTrackingCategory(trackingCategoryList["tba_values"]) end -- Do not show the summary if this is being transcluded on the initial list page -- Do include it on all other lists if (onInitialPage and args.ShortSummary) then local bottomWrapper = createShortSummaryRow(args, lineColor) return tostring(root) .. tostring(bottomWrapper) .. trackingCategories else return tostring(root) .. trackingCategories end end -- Local function which handles both module entry points. local function main(frame, sublist) local getArgs = require('Module:Arguments').getArgs local args -- Most parameters should still display when blank, so don't remove blanks if (sublist) then args = getArgs(frame, {removeBlanks = false, wrappers = 'Template:Episode list/sublist'}) else args = getArgs(frame, {removeBlanks = false, wrappers = 'Template:Episode list'}) end -- args['1'] = mw.getCurrentFrame():getParent():getTitle() return _main(args, sublist, frame) end --[[ Public function which is used to create an Episode row for an Episode Table used for lists of episodes where each table is on a different page, usually placed on individual season articles. For tables which are all on the same page see p.list(). Parameters: -- |1= — required; The title of the article where the Episode Table is located at. -- |EpisodeNumber= — suggested; The overall episode number in the series. -- |EpisodeNumber2= — suggested; The episode number in the season. -- |Title= — suggested; The English title of the episode. -- |RTitle= — optional; Unformatted parameter that can be used to add a reference after "Title", or can be used as a "raw title" to replace "Title" completely. -- |AltTitle= — optional; An alternative title, such as the title of a foreign show's episode in its native language, or a title that was originally changed. -- |TranslitTitle= — optional; The title of the episode transliteration (Romanization) to Latin characters. -- |RAltTitle= — optional; Unformatted parameter that can be used to add a reference after "AltTitle", or can be used as a "raw title" to replace "AltTitle" completely. -- |NativeTitle= — optional; The title of the episode in the native language. -- |NativeTitleLangCode — optional; The language code of the native title language. -- |Aux1= — optional; General purpose parameter. The meaning is specified by the column header. This parameter is also used for Serial episode titles, such as those used in Doctor Who. -- |DirectedBy= — optional; Name of the episode's director. May contain links. -- |WrittenBy= — optional; Primary writer(s) of the episode. May include links. -- |Aux2= — optional; General purpose parameter. The meaning is specified by the column header. -- |Aux3= — optional; General purpose parameter. The meaning is specified by the column header. -- |OriginalAirDate= — optional; This is the date the episode first aired on TV, or is scheduled to air. -- |AltDate= — optional; The next notable air date, such as the first air date of an anime in English. -- |Guests= — optional; List of Guests for talk shows. Cannot be used simultaneously with Aux1. -- |MusicalGuests= — optional; List of MusicalGuests for talk shows. Cannot be used simultaneously with Aux2. -- |ProdCode= — optional; The production code in the series. When defined, this parameter also creates a link anchor, prefixed by "pc"; for example, List of episodes#pc01. -- |Viewers= — optional; Number of viewers who watched the episode. Should include a reference. -- |Aux4= — optional; General purpose parameter. The meaning is specified by the column header. -- |ShortSummary= — optional; A short 100–200 word plot summary of the episode. -- |LineColor= — optional; Colors the separator line between episode entries. If not defined the color defaults to "#CCCCFF" and the article is placed in Category:Episode list using the default LineColor. Use of "#", or anything but a valid hex code will result in an invalid syntax. -- |TopColor= — discouraged; Colors the main row of information (that is, not the ShortSummary row). Articles using this parameter are placed in Category:Episode lists with row deviations. -- |RowColor= — optional; Switch parameter that must only be defined when the EpisodeNumber= entry is not a regular number (e.g. "12–13" for two episodes described in one table entry). If the first episode number is even, define pass "on". If the first episode number is odd, pass "off". --]] function p.sublist(frame) return main(frame, true) end --[[ Public function which is used to create an Episode row for an Episode Table used for lists of episodes where all tables are on the same page. For tables which are on different pages see p.sublist(). For complete parameter documentation, see the documentation at p.sublist(). --]] function p.list(frame) return main(frame, false) end return p </textarea><div id="mw-scribunto-console"></div><div class="templatesUsed"><div class="mw-templatesUsedExplanation"><p><span id="templatesused">Pages transcluded onto the current version of this page<span class="posteditwindowhelplinks"> (<a href="/wiki/Help:Transclusion" title="Help:Transclusion">help</a>)</span>:</span> </p></div><ul> <li><a href="/wiki/Template:Category_link_with_count" title="Template:Category link with count">Template:Category link with count</a> (<a href="/w/index.php?title=Template:Category_link_with_count&action=edit" title="Template:Category link with count">view source</a>) (template editor protected)</li><li><a href="/wiki/Template:Clc" class="mw-redirect" title="Template:Clc">Template:Clc</a> (<a href="/w/index.php?title=Template:Clc&action=edit" class="mw-redirect" title="Template:Clc">view source</a>) (template editor protected)</li><li><a href="/wiki/Template:High-use" title="Template:High-use">Template:High-use</a> (<a href="/w/index.php?title=Template:High-use&action=edit" title="Template:High-use">view source</a>) (template editor protected)</li><li><a href="/wiki/Template:Lua" title="Template:Lua">Template:Lua</a> (<a href="/w/index.php?title=Template:Lua&action=edit" title="Template:Lua">view source</a>) (template editor protected)</li><li><a href="/wiki/Template:Module_other" title="Template:Module other">Template:Module other</a> (<a href="/w/index.php?title=Template:Module_other&action=edit" title="Template:Module other">view source</a>) (extended confirmed protected)</li><li><a href="/wiki/Template:Module_rating" title="Template:Module rating">Template:Module rating</a> (<a href="/w/index.php?title=Template:Module_rating&action=edit" title="Template:Module rating">view source</a>) (semi-protected)</li><li><a href="/wiki/Template:Ombox" title="Template:Ombox">Template:Ombox</a> (<a href="/w/index.php?title=Template:Ombox&action=edit" title="Template:Ombox">view source</a>) (protected)</li><li><a href="/wiki/Module:Arguments" title="Module:Arguments">Module:Arguments</a> (<a href="/w/index.php?title=Module:Arguments&action=edit" title="Module:Arguments">view source</a>) (protected)</li><li><a href="/wiki/Module:Color_contrast" title="Module:Color contrast">Module:Color contrast</a> (<a href="/w/index.php?title=Module:Color_contrast&action=edit" title="Module:Color contrast">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Color_contrast/colors" title="Module:Color contrast/colors">Module:Color contrast/colors</a> (<a href="/w/index.php?title=Module:Color_contrast/colors&action=edit" title="Module:Color contrast/colors">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Documentation" title="Module:Documentation">Module:Documentation</a> (<a href="/w/index.php?title=Module:Documentation&action=edit" title="Module:Documentation">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Documentation/config" title="Module:Documentation/config">Module:Documentation/config</a> (<a href="/w/index.php?title=Module:Documentation/config&action=edit" title="Module:Documentation/config">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Documentation/styles.css" title="Module:Documentation/styles.css">Module:Documentation/styles.css</a> (<a href="/w/index.php?title=Module:Documentation/styles.css&action=edit" title="Module:Documentation/styles.css">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Effective_protection_expiry" title="Module:Effective protection expiry">Module:Effective protection expiry</a> (<a href="/w/index.php?title=Module:Effective_protection_expiry&action=edit" title="Module:Effective protection expiry">view source</a>) (protected)</li><li><a href="/wiki/Module:Effective_protection_level" title="Module:Effective protection level">Module:Effective protection level</a> (<a href="/w/index.php?title=Module:Effective_protection_level&action=edit" title="Module:Effective protection level">view source</a>) (protected)</li><li><a href="/wiki/Module:Episode_list" title="Module:Episode list">Module:Episode list</a> (<a href="/w/index.php?title=Module:Episode_list&action=edit" title="Module:Episode list">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Episode_list/doc" title="Module:Episode list/doc">Module:Episode list/doc</a> (<a href="/w/index.php?title=Module:Episode_list/doc&action=edit" title="Module:Episode list/doc">edit</a>) </li><li><a href="/wiki/Module:File_link" title="Module:File link">Module:File link</a> (<a href="/w/index.php?title=Module:File_link&action=edit" title="Module:File link">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:High-use" title="Module:High-use">Module:High-use</a> (<a href="/w/index.php?title=Module:High-use&action=edit" title="Module:High-use">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Lang" title="Module:Lang">Module:Lang</a> (<a href="/w/index.php?title=Module:Lang&action=edit" title="Module:Lang">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Lang/ISO_639_synonyms" title="Module:Lang/ISO 639 synonyms">Module:Lang/ISO 639 synonyms</a> (<a href="/w/index.php?title=Module:Lang/ISO_639_synonyms&action=edit" title="Module:Lang/ISO 639 synonyms">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Lang/configuration" title="Module:Lang/configuration">Module:Lang/configuration</a> (<a href="/w/index.php?title=Module:Lang/configuration&action=edit" title="Module:Lang/configuration">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Lang/data" title="Module:Lang/data">Module:Lang/data</a> (<a href="/w/index.php?title=Module:Lang/data&action=edit" title="Module:Lang/data">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Lang/data/iana_languages" title="Module:Lang/data/iana languages">Module:Lang/data/iana languages</a> (<a href="/w/index.php?title=Module:Lang/data/iana_languages&action=edit" title="Module:Lang/data/iana languages">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Lang/data/iana_regions" title="Module:Lang/data/iana regions">Module:Lang/data/iana regions</a> (<a href="/w/index.php?title=Module:Lang/data/iana_regions&action=edit" title="Module:Lang/data/iana regions">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Lang/data/iana_scripts" title="Module:Lang/data/iana scripts">Module:Lang/data/iana scripts</a> (<a href="/w/index.php?title=Module:Lang/data/iana_scripts&action=edit" title="Module:Lang/data/iana scripts">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Lang/data/iana_suppressed_scripts" title="Module:Lang/data/iana suppressed scripts">Module:Lang/data/iana suppressed scripts</a> (<a href="/w/index.php?title=Module:Lang/data/iana_suppressed_scripts&action=edit" title="Module:Lang/data/iana suppressed scripts">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Lang/data/iana_variants" title="Module:Lang/data/iana variants">Module:Lang/data/iana variants</a> (<a href="/w/index.php?title=Module:Lang/data/iana_variants&action=edit" title="Module:Lang/data/iana variants">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:List" title="Module:List">Module:List</a> (<a href="/w/index.php?title=Module:List&action=edit" title="Module:List">view source</a>) (protected)</li><li><a href="/wiki/Module:Lua_banner" title="Module:Lua banner">Module:Lua banner</a> (<a href="/w/index.php?title=Module:Lua_banner&action=edit" title="Module:Lua banner">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Math" title="Module:Math">Module:Math</a> (<a href="/w/index.php?title=Module:Math&action=edit" title="Module:Math">view source</a>) (protected)</li><li><a href="/wiki/Module:Message_box" title="Module:Message box">Module:Message box</a> (<a href="/w/index.php?title=Module:Message_box&action=edit" title="Module:Message box">view source</a>) (protected)</li><li><a href="/wiki/Module:Message_box/configuration" title="Module:Message box/configuration">Module:Message box/configuration</a> (<a href="/w/index.php?title=Module:Message_box/configuration&action=edit" title="Module:Message box/configuration">view source</a>) (protected)</li><li><a href="/wiki/Module:Message_box/ombox.css" title="Module:Message box/ombox.css">Module:Message box/ombox.css</a> (<a href="/w/index.php?title=Module:Message_box/ombox.css&action=edit" title="Module:Message box/ombox.css">view source</a>) (protected)</li><li><a href="/wiki/Module:Protection_banner" title="Module:Protection banner">Module:Protection banner</a> (<a href="/w/index.php?title=Module:Protection_banner&action=edit" title="Module:Protection banner">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Protection_banner/config" title="Module:Protection banner/config">Module:Protection banner/config</a> (<a href="/w/index.php?title=Module:Protection_banner/config&action=edit" title="Module:Protection banner/config">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:String" title="Module:String">Module:String</a> (<a href="/w/index.php?title=Module:String&action=edit" title="Module:String">view source</a>) (protected)</li><li><a href="/wiki/Module:TableTools" title="Module:TableTools">Module:TableTools</a> (<a href="/w/index.php?title=Module:TableTools&action=edit" title="Module:TableTools">view source</a>) (protected)</li><li><a href="/wiki/Module:Table_empty_cell" title="Module:Table empty cell">Module:Table empty cell</a> (<a href="/w/index.php?title=Module:Table_empty_cell&action=edit" title="Module:Table empty cell">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Transclusion_count" title="Module:Transclusion count">Module:Transclusion count</a> (<a href="/w/index.php?title=Module:Transclusion_count&action=edit" title="Module:Transclusion count">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Transclusion_count/data/E" title="Module:Transclusion count/data/E">Module:Transclusion count/data/E</a> (<a href="/w/index.php?title=Module:Transclusion_count/data/E&action=edit" title="Module:Transclusion count/data/E">view source</a>) (semi-protected)</li><li><a href="/wiki/Module:Unicode_data" title="Module:Unicode data">Module:Unicode data</a> (<a href="/w/index.php?title=Module:Unicode_data&action=edit" title="Module:Unicode data">view source</a>) (template editor protected)</li><li><a href="/wiki/Module:Yesno" title="Module:Yesno">Module:Yesno</a> (<a href="/w/index.php?title=Module:Yesno&action=edit" title="Module:Yesno">view source</a>) (protected)</li></ul></div><p id="mw-returnto">Return to <a href="/wiki/Module:Episode_list" title="Module:Episode list">Module:Episode list</a>.</p> <!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/wiki/Module:Episode_list">https://en.wikipedia.org/wiki/Module:Episode_list</a>"</div></div> <div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Module:Episode_list&action=edit&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"mediawiki.ui.button\".\n[1.41] Please use Codex. See migration guidelines: https://www.mediawiki.org/wiki/Codex/Migrating_from_MediaWiki_UI");mw.config.set({"wgHostname":"mw-web.codfw.main-746fb5b8df-lhxw4","wgBackendResponseTime":402,"wgPageParseReport":{"limitreport":{"cputime":"0.134","walltime":"0.202","ppvisitednodes":{"value":683,"limit":1000000},"postexpandincludesize":{"value":49167,"limit":2097152},"templateargumentsize":{"value":7221,"limit":2097152},"expansiondepth":{"value":22,"limit":100},"expensivefunctioncount":{"value":8,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":3557,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 172.457 1 -total"," 71.63% 123.526 1 Template:Protected_page_text/template"," 69.87% 120.503 1 Template:Protected_page_text"," 64.85% 111.834 1 Template:Fmbox"," 35.45% 61.136 1 Template:Submit_an_edit_request"," 20.91% 36.054 2 Template:Blocked_text"," 10.00% 17.251 1 Template:Mbox"," 9.42% 16.247 1 Template:Colocationwebhost"," 8.40% 14.493 1 Template:Hidden"," 7.29% 12.575 1 Template:Editnotice_load"]},"scribunto":{"limitreport-timeusage":{"value":"0.060","limit":"10.000"},"limitreport-memusage":{"value":1584119,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-746fb5b8df-lhxw4","timestamp":"20241214020141","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>