CINXE.COM

Help:Extension:Linter - MediaWiki

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-disabled 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-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Help:Extension:Linter - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled 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-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )mediawikiwikimwclientpreferences=([^;]+)/);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":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"3351d1e2-e5cc-4542-80f7-0d9131825532","wgCanonicalNamespace":"Help","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":12,"wgPageName":"Help:Extension:Linter","wgTitle":"Extension:Linter","wgCurRevisionId":6607073,"wgRevisionId":6607073,"wgArticleId":625575,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Extension help","Linter"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Help:Extension:Linter","wgRelevantArticleId":625575,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"mediawiki","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{ "pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":10000,"wgInternalRedirectTargetUrl":"/wiki/Help:Extension:Linter","wgTranslatePageTranslation":"source","wgEditSubmitButtonLabelPublish":true,"wgDiscussionToolsFeaturesEnabled":{"replytool":true,"newtopictool":true,"sourcemodetoolbar":true,"topicsubscription":false,"autotopicsub":false,"visualenhancements":false,"visualenhancements_reply":false,"visualenhancements_pageframe":false},"wgDiscussionToolsFallbackEditMode":"visual","wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles" :"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.translate.tag.languages":"ready","ext.discussionTools.init.styles":"ready","oojs-ui-core.styles":"ready","oojs-ui.styles.indicators":"ready","mediawiki.widgets.styles":"ready","oojs-ui-core.icons":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.translate.edit.documentation.styles":"ready","ext.translate":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.translate.pagetranslation.uls","ext.urlShortener.toolbar","ext.centralauth.centralautologin","ext.visualEditor.desktopArticleTarget.init", "ext.visualEditor.targetLoader","ext.echo.centralauth","ext.discussionTools.init","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","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&amp;modules=ext.discussionTools.init.styles%7Cext.translate%2CwikimediaBadges%7Cext.translate.edit.documentation.styles%7Cext.translate.tag.languages%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:site_name" content="MediaWiki"> <meta property="og:title" content="Help:Extension:Linter - MediaWiki"> <meta property="og:type" content="website"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//m.mediawiki.org/wiki/Help:Extension:Linter"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=Help:Extension:Linter&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/mediawiki.png"> <link rel="icon" href="/static/favicon/mediawiki.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="MediaWiki (en)"> <link rel="EditURI" type="application/rsd+xml" href="//www.mediawiki.org/w/api.php?action=rsd"> <link rel="canonical" href="https://www.mediawiki.org/wiki/Help:Extension:Linter"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="MediaWiki Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="ext-discussiontools-replytool-enabled ext-discussiontools-newtopictool-enabled ext-discussiontools-sourcemodetoolbar-enabled skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-12 ns-subject mw-editable page-Help_Extension_Linter rootpage-Help_Extension_Linter skin-vector-2022 action-view"><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/MediaWiki" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-mw-download" class="mw-list-item"><a href="/wiki/Download"><span>Get MediaWiki</span></a></li><li id="n-mw-extensions" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Category:Extensions"><span>Get extensions</span></a></li><li id="n-blog-text" class="mw-list-item"><a href="https://techblog.wikimedia.org/"><span>Tech blog</span></a></li><li id="n-mw-contribute" class="mw-list-item"><a href="/wiki/Special:MyLanguage/How_to_contribute"><span>Contribute</span></a></li> </ul> </div> </div> <div id="p-support" class="vector-menu mw-portlet mw-portlet-support" > <div class="vector-menu-heading"> Support </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>User help</span></a></li><li id="n-mw-faq" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:FAQ"><span>FAQ</span></a></li><li id="n-mw-manual" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:Contents"><span>Technical manual</span></a></li><li id="n-mw-supportdesk" class="mw-list-item"><a href="/wiki/Project:Support_desk"><span>Support desk</span></a></li><li id="n-mw-communication" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Communication"><span>Communication</span></a></li> </ul> </div> </div> <div id="p-development" class="vector-menu mw-portlet mw-portlet-development" > <div class="vector-menu-heading"> Development </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mw-developerportal" class="mw-list-item"><a href="https://developer.wikimedia.org/"><span>Developer portal</span></a></li><li id="n-svn-statistics" class="mw-list-item"><a href="/wiki/Development_statistics"><span>Code statistics</span></a></li> </ul> </div> </div> <div id="p-mediawiki.org" class="vector-menu mw-portlet mw-portlet-mediawiki_org" > <div class="vector-menu-heading"> mediawiki.org </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Project:Help" title="About the project, what you can do, where to find things"><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 in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-mw-translate" class="mw-list-item"><a href="/wiki/Special:LanguageStats"><span>Translate content</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li><li id="n-mw-discussion" class="mw-list-item"><a href="/wiki/Project:Village_Pump"><span>Village pump</span></a></li><li id="n-Sandboxlink-portlet-label" class="mw-list-item"><a href="/wiki/Project:Sandbox"><span>Sandbox</span></a></li> </ul> </div> </div> <div id="p-lang" class="vector-menu mw-portlet mw-portlet-lang" > <div class="vector-menu-heading"> In other languages </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-add wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:NewItem?site=mediawikiwiki&amp;page=Help%3AExtension%3ALinter" title="Add interlanguage links" class="wbc-editpage">Add links</a></span></div> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/MediaWiki" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/mediawikiwiki.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="MediaWiki" src="/static/images/mobile/copyright/mediawikiwiki-wordmark.svg" style="width: 7.5em; height: 1.125em;"> </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 MediaWiki [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 MediaWiki" aria-label="Search MediaWiki" autocapitalize="sentences" title="Search MediaWiki [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" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-uls" class="mw-list-item active user-links-collapsible-item"><a data-mw="interface" href="#" class="uls-trigger cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>English</span></a> </li> </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&#039;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&amp;wmf_medium=sidebar&amp;wmf_campaign=www.mediawiki.org&amp;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&amp;returnto=Help%3AExtension%3ALinter" 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&amp;returnto=Help%3AExtension%3ALinter" title="You are encouraged to log in; however, it is 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="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&amp;wmf_medium=sidebar&amp;wmf_campaign=www.mediawiki.org&amp;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&amp;returnto=Help%3AExtension%3ALinter" 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&amp;returnto=Help%3AExtension%3ALinter" title="You are encouraged to log in; however, it is 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 class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Beginning</div> </a> </li> <li id="toc-Documentation_of_lint_issues" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Documentation_of_lint_issues"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Documentation of lint issues</span> </div> </a> <ul id="toc-Documentation_of_lint_issues-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Why_and_what_to_fix" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Why_and_what_to_fix"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Why and what to fix</span> </div> </a> <button aria-controls="toc-Why_and_what_to_fix-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Why and what to fix subsection</span> </button> <ul id="toc-Why_and_what_to_fix-sublist" class="vector-toc-list"> <li id="toc-Goal:_Replacing_Tidy" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Goal:_Replacing_Tidy"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Goal: Replacing Tidy</span> </div> </a> <ul id="toc-Goal:_Replacing_Tidy-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Goal:_Improving_compliance_between_rendering_of_the_PHP_parser_and_Parsoid" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Goal:_Improving_compliance_between_rendering_of_the_PHP_parser_and_Parsoid"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Goal: Improving compliance between rendering of the PHP parser and Parsoid</span> </div> </a> <ul id="toc-Goal:_Improving_compliance_between_rendering_of_the_PHP_parser_and_Parsoid-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Goal:_HTML5_output_compliance" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Goal:_HTML5_output_compliance"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>Goal: HTML5 output compliance</span> </div> </a> <ul id="toc-Goal:_HTML5_output_compliance-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Goal:_Clarifying_editor_intent" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Goal:_Clarifying_editor_intent"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.4</span> <span>Goal: Clarifying editor intent</span> </div> </a> <ul id="toc-Goal:_Clarifying_editor_intent-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Goal:_Clean_markup" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Goal:_Clean_markup"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.5</span> <span>Goal: Clean markup</span> </div> </a> <ul id="toc-Goal:_Clean_markup-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Goal:_Improve_content_portability_and_presentation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Goal:_Improve_content_portability_and_presentation"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.6</span> <span>Goal: Improve content portability and presentation</span> </div> </a> <ul id="toc-Goal:_Improve_content_portability_and_presentation-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-FAQ" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#FAQ"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>FAQ</span> </div> </a> <button aria-controls="toc-FAQ-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle FAQ subsection</span> </button> <ul id="toc-FAQ-sublist" class="vector-toc-list"> <li id="toc-When_are_lint_errors_for_a_page_updated?" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#When_are_lint_errors_for_a_page_updated?"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>When are lint errors for a page updated?</span> </div> </a> <ul id="toc-When_are_lint_errors_for_a_page_updated?-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Should_pages_in_X_namespace_(e.g._talk)_be_fixed" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Should_pages_in_X_namespace_(e.g._talk)_be_fixed"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Should pages in X namespace (e.g. talk) be fixed</span> </div> </a> <ul id="toc-Should_pages_in_X_namespace_(e.g._talk)_be_fixed-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Tools" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Tools"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Tools</span> </div> </a> <ul id="toc-Tools-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-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-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Help</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Extension:Linter</span></h1> <div class="mw-indicators"> </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-help" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Help:Extension:Linter" title="View the help page [c]" accesskey="c"><span>Help</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Help_talk:Extension:Linter" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</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="selected vector-tab-noicon mw-list-item"><a href="/wiki/Help:Extension:Linter"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Help:Extension:Linter&amp;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="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Help:Extension:Linter"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Help:Extension:Linter&amp;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/Help:Extension:Linter" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Help:Extension:Linter" 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="//commons.wikimedia.org/wiki/Special:UploadWizard" 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-permalink" class="mw-list-item"><a href="/w/index.php?title=Help:Extension:Linter&amp;oldid=6607073" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Help:Extension:Linter&amp;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:UrlShortener&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FHelp%3AExtension%3ALinter"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FHelp%3AExtension%3ALinter"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Special:Book&amp;bookcmd=book_creator&amp;referer=Help%3AExtension%3ALinter"><span>Create a book</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Help%3AExtension%3ALinter&amp;action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Help:Extension:Linter&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects emptyPortlet" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </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 id="siteSub" class="noprint">From mediawiki.org</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-pt-translate-header noprint nomobile" dir="ltr" lang="en"><a href="/w/index.php?title=Special:Translate&amp;group=page-Help%3AExtension%3ALinter&amp;action=page&amp;filter=&amp;action_source=translate_page" title="Special:Translate">Translate this page</a></div><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="mw-pt-languages noprint navigation-not-searchable" lang="en" dir="ltr"><div class="mw-pt-languages-label">Languages:</div><ul class="mw-pt-languages-list"><li><a href="/wiki/Help:Extension:Linter/de" class="mw-pt-progress mw-pt-progress--low" title="Hilfe:Erweiterung:Linter (11% translated)" lang="de" dir="ltr">Deutsch</a></li> <li><span class="mw-pt-languages-ui mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete" lang="en" dir="ltr">English</span></li> <li><a href="/wiki/Help:Extension:Linter/tr" class="mw-pt-progress mw-pt-progress--low" title="Help:Extension:Linter (4% translated)" lang="tr" dir="ltr">Türkçe</a></li> <li><a href="/wiki/Help:Extension:Linter/es" class="mw-pt-progress mw-pt-progress--high" title="Ayuda:Extensión:Linter (79% translated)" lang="es" dir="ltr">español</a></li> <li><a href="/wiki/Help:Extension:Linter/fr" class="mw-pt-progress mw-pt-progress--complete" title="Aide:Extension:Linter (100% translated)" lang="fr" dir="ltr">français</a></li> <li><a href="/wiki/Help:Extension:Linter/pl" class="mw-pt-progress mw-pt-progress--low" title="Help:Extension:Linter/pl (7% translated)" lang="pl" dir="ltr">polski</a></li> <li><a href="/wiki/Help:Extension:Linter/pt-br" class="mw-pt-progress mw-pt-progress--med" title="Ajuda:Extensão:Linter (27% translated)" lang="pt-BR" dir="ltr">português do Brasil</a></li> <li><a href="/wiki/Help:Extension:Linter/el" class="mw-pt-progress mw-pt-progress--low" title="Help:Extension:Linter/el (2% translated)" lang="el" dir="ltr">Ελληνικά</a></li> <li><a href="/wiki/Help:Extension:Linter/ru" class="mw-pt-progress mw-pt-progress--low" title="Help:Extension:Linter/ru (2% translated)" lang="ru" dir="ltr">русский</a></li> <li><a href="/wiki/Help:Extension:Linter/uk" class="mw-pt-progress mw-pt-progress--med" title="Довідка:Розширення:Linter (30% translated)" lang="uk" dir="ltr">українська</a></li> <li><a href="/wiki/Help:Extension:Linter/gu" class="mw-pt-progress mw-pt-progress--low" title="Help:Extension:Linter/gu (2% translated)" lang="gu" dir="ltr">ગુજરાતી</a></li> <li><a href="/wiki/Help:Extension:Linter/zh" class="mw-pt-progress mw-pt-progress--med" title="帮助:扩展:Linter (64% translated)" lang="zh" dir="ltr">中文</a></li> <li><a href="/wiki/Help:Extension:Linter/ja" class="mw-pt-progress mw-pt-progress--high" title="Help:Extension:Linter (89% translated)" lang="ja" dir="ltr">日本語</a></li></ul></div> <p>The <b><a href="/wiki/Special:MyLanguage/Extension:Linter" title="Special:MyLanguage/Extension:Linter">Linter</a><span style="display:none"><a href="/wiki/Extension:Linter" title="Extension:Linter"> </a></span></b> extension identifies wikitext patterns that must or can be fixed in pages along with some guidance about what the issues are with those patterns and how to fix them. </p><p>The <a href="/wiki/Special:LintErrors" title="Special:LintErrors">Lint errors</a> page groups the errors by type. Some of these issues may be easier to find with <a href="/wiki/Special:ExpandTemplates" title="Special:ExpandTemplates">Expand templates</a>. On this page, we will classify lint issues according to the severity of the issue vis-à-vis goals that are blocked by those issues. More information and discussion about this is provided further below. </p><p>There is a new feature "Show all linter errors for a specific page" at the bottom of <a href="/wiki/Special:LintErrors" title="Special:LintErrors">Lint errors</a> page which allows an editor to get a report of all errors on a single page. The report contains the category and other useful information and each error has a clickable link that loads the page and highlights the error. (Note: if your source editor has syntax highlighting enabled, the highlighting may not work). By working from the end of the list upward, changes to the page will not invalidate the character offsets of earlier errors and is the recommended way to work if you are fixing all errors on a page. </p><p>We will continue to improve functionality to eliminate noise, fix bugs, and make the linter output more actionable, but the current output is ready to use and act on. </p> <meta property="mw:PageProp/toc"/> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Documentation_of_lint_issues" data-mw-thread-id="h-Documentation_of_lint_issues"><span data-mw-comment-start="" id="h-Documentation_of_lint_issues"></span>Documentation of lint issues<span data-mw-comment-end="h-Documentation_of_lint_issues"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=1" title="Edit section: Documentation of lint issues"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Documentation_of_lint_issues","replies":[]}}--></div> <style data-mw-deduplicate="TemplateStyles:r6353907">.mw-parser-output .hatnote{font-style:italic;padding-bottom:0.4em;margin-bottom:0.4em;border-bottom:1px solid #ccc}.mw-parser-output .hatnote.no-border{border-bottom:none}</style><div role="note" class="hatnote relarticle mainarticle">Main page: <a href="/wiki/Special:MyLanguage/Help:Lint_errors" title="Special:MyLanguage/Help:Lint errors">Help:Lint errors</a><span style="display:none"><a href="/wiki/Help:Lint_errors" title="Help:Lint errors"> </a></span></div> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Why_and_what_to_fix" data-mw-thread-id="h-Why_and_what_to_fix"><span data-mw-comment-start="" id="h-Why_and_what_to_fix"></span>Why and what to fix<span data-mw-comment-end="h-Why_and_what_to_fix"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=2" title="Edit section: Why and what to fix"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Why_and_what_to_fix","replies":["h-Goal:_Replacing_Tidy-Why_and_what_to_fix","h-Goal:_Improving_compliance_between_rendering_of_the_PHP_parser_and_Parsoid-Why_and_what_to_fix","h-Goal:_HTML5_output_compliance-Why_and_what_to_fix","h-Goal:_Clarifying_editor_intent-Why_and_what_to_fix","h-Goal:_Clean_markup-Why_and_what_to_fix","h-Goal:_Improve_content_portability_and_presentation-Why_and_what_to_fix"]}}--></div> <p>Going forward, the <a href="/wiki/Special:MyLanguage/Parsing" title="Special:MyLanguage/Parsing">parsing team</a> plans to leverage the Linter extension to identify wikitext patterns: </p> <ul><li>that are erroneous (ex: bogus image options – usually caused by typos or because <a href="https://phabricator.wikimedia.org/T163582" class="extiw" title="phab:T163582">media option parsing in MediaWiki is fragile</a>).</li> <li>that are deprecated (ex: <a href="https://phabricator.wikimedia.org/T134423" class="extiw" title="phab:T134423">self-closing tags</a>)</li> <li>that can break because of changes to the parsing pipeline (ex: <a href="/wiki/Special:MyLanguage/Parsing/Replacing_Tidy" title="Special:MyLanguage/Parsing/Replacing Tidy">replacing Tidy with RemexHTML</a>)</li> <li>that are no longer valid in HTML5 (ex: obsolete tags like center, font)</li> <li>that are potentially broken and can be misinterpreted by the parser compared to what the editor intended them to be (ex: unclosed HTML tags, misnested HTML tags)</li></ul> <p>Not all of them need to be fixed promptly or even ever (depending on your tolerance for lint). Different goals are advanced by fixing different subsets of the above lint issues. We (the parsing team) will try to be transparent about these goals and will provide guidance about which goals are advanced by fixing which issues. </p><p><b>Simplified instructions are provided <a href="/wiki/Special:MyLanguage/Parsing/Replacing_Tidy/FAQ#What_will_editors_need_to_do?" title="Special:MyLanguage/Parsing/Replacing Tidy/FAQ">in the FAQ page</a>.</b> </p> <div class="mw-heading mw-heading3"><h3 id="Goal:_Replacing_Tidy" data-mw-thread-id="h-Goal:_Replacing_Tidy-Why_and_what_to_fix"><span data-mw-comment-start="" id="h-Goal:_Replacing_Tidy-Why_and_what_to_fix"></span>Goal: <a href="/wiki/Special:MyLanguage/Parsing/Replacing_Tidy/FAQ" title="Special:MyLanguage/Parsing/Replacing Tidy/FAQ">Replacing Tidy</a><span data-mw-comment-end="h-Goal:_Replacing_Tidy-Why_and_what_to_fix"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=3" title="Edit section: Goal: Replacing Tidy"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>As part of addressing technical debt in the parsing pipeline of MediaWiki, we replaced Tidy with a HTML5-based tool. However, doing so would have broken the rendering of a small subset of pages unless certain wikitext patterns were fixed. Specifically, issues found in the <code>deletable-table-tag</code>, <code>pwrap-bug-workaround</code>, <code>self-closed-tag</code>, <code>tidy-whitespace-bug</code>, <code>html5-misnesting</code>, and <code>tidy-font-bug</code> categories. In order to do a timely replacement of Tidy, we classified all these issues as high priority. </p> <div class="mw-heading mw-heading3"><h3 id="Goal:_Improving_compliance_between_rendering_of_the_PHP_parser_and_Parsoid" data-mw-thread-id="h-Goal:_Improving_compliance_between_rendering_of_the_PHP_parser_and_Parsoid-Why_and_what_to_fix"><span data-mw-comment-start="" id="h-Goal:_Improving_compliance_between_rendering_of_the_PHP_parser_and_Parsoid-Why_and_what_to_fix"></span>Goal: <a href="/wiki/Special:MyLanguage/Parsoid/Known_differences_with_PHP_parser_output" title="Special:MyLanguage/Parsoid/Known differences with PHP parser output">Improving compliance between rendering of the PHP parser and Parsoid</a><span data-mw-comment-end="h-Goal:_Improving_compliance_between_rendering_of_the_PHP_parser_and_Parsoid-Why_and_what_to_fix"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=4" title="Edit section: Goal: Improving compliance between rendering of the PHP parser and Parsoid"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Right now, the HTML generated by the PHP parser is used for read views and the HTML generated by Parsoid is <a href="/wiki/Special:MyLanguage/Parsoid/Users" title="Special:MyLanguage/Parsoid/Users">used by editing tools and the Android app among others</a>. The parsing team, <a href="/wiki/Special:MyLanguage/Parsing#A:_Move_to_adopt_Parsoid_as_the_primary_MediaWiki_wikitext_parser" title="Special:MyLanguage/Parsing">as one of its long-term objectives</a>, wants to enable the use of Parsoid's output for both read views as well as for editing. Since Parsoid and RemexHTML are both HTML5-based tools, the lint categories that affect RemexHTML's rendering also affect Parsoid's rendering. We haven't yet identified any newer lint issues that affect Parsoid's rendering at this time, but will update this list as we identify any such. </p> <div class="mw-heading mw-heading3"><h3 id="Goal:_HTML5_output_compliance" data-mw-thread-id="h-Goal:_HTML5_output_compliance-Why_and_what_to_fix"><span data-mw-comment-start="" id="h-Goal:_HTML5_output_compliance-Why_and_what_to_fix"></span>Goal: <a href="/wiki/Special:MyLanguage/Parsing/Notes/HTML5_Compliance" title="Special:MyLanguage/Parsing/Notes/HTML5 Compliance">HTML5 output compliance</a><span data-mw-comment-end="h-Goal:_HTML5_output_compliance-Why_and_what_to_fix"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=5" title="Edit section: Goal: HTML5 output compliance"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>This is a somewhat complex goal and we haven't yet arrived at an understanding about how important it is to pursue this goal or how far we should go with this. Additionally, it is not yet clear what mechanisms we wish to leverage towards this goal. For example, based on a bunch of discussions in different venues, <a href="/wiki/User:Legoktm/HTML%2BMediaWiki" title="User:Legoktm/HTML+MediaWiki">User:Legoktm/HTML+MediaWiki</a> outlines a proposal for handling the html5-deprecated big tag. In any case, fixing issues in the <code>obsolete-tag</code>, <code>self-closed-tag</code> categories advance this goal. Given lack of clarity around this goal, we have accordingly marked the obsolete-tag category as a low-priority goal. </p> <div class="mw-heading mw-heading3"><h3 id="Goal:_Clarifying_editor_intent" data-mw-thread-id="h-Goal:_Clarifying_editor_intent-Why_and_what_to_fix"><span data-mw-comment-start="" id="h-Goal:_Clarifying_editor_intent-Why_and_what_to_fix"></span>Goal: Clarifying editor intent<span data-mw-comment-end="h-Goal:_Clarifying_editor_intent-Why_and_what_to_fix"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=6" title="Edit section: Goal: Clarifying editor intent"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Getting markup right is hard. Errors inadvertently creep through. While the parser does its best in recovering from these errors, in many cases, what the parser does might not truly reflect the editor's original intent. Given that, we recommend that it is best to fix the issues identified here to clarify the editor's intention. Issues in the <code>bogus-image-options</code>, <code>fostered-content</code>, <code>misnested-tag</code>, <code>missing-end-tag</code> categories seem to affect this goal. Since this is a fairly important goal, we have marked most of them with medium priority. However, we have marked the missing-end-tag category with a low priority since in a vast majority of cases, the parser does seem to recover fairly accurately. Nevertheless, we recommend fixing whatever can be fixed without too much effort, if only to assist comprehension by other human editors and tools. </p> <div class="mw-heading mw-heading3"><h3 id="Goal:_Clean_markup" data-mw-thread-id="h-Goal:_Clean_markup-Why_and_what_to_fix"><span data-mw-comment-start="" id="h-Goal:_Clean_markup-Why_and_what_to_fix"></span>Goal: Clean markup<span data-mw-comment-end="h-Goal:_Clean_markup-Why_and_what_to_fix"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=7" title="Edit section: Goal: Clean markup"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Getting markup right is hard. Even in the presence of errors, the parser does a fairly decent job in most cases in figuring out accurately how that piece of markup is supposed to render. But, in much the same way that typos, punctuation and minor grammatical errors can feel unsettling, some editors or those with a developer-mindset might find lint issues in these categories unsettling. We don't recommend spending an inordinate amount of time fixing these issues and, in many scenarios, bots might be able to fix these up as well. <code>misnested-tag</code>, <code>missing-end-tag</code>, <code>stripped-tag</code> lint categories affect this goal. </p> <div class="mw-heading mw-heading3"><h3 id="Goal:_Improve_content_portability_and_presentation" data-mw-thread-id="h-Goal:_Improve_content_portability_and_presentation-Why_and_what_to_fix"><span data-mw-comment-start="" id="h-Goal:_Improve_content_portability_and_presentation-Why_and_what_to_fix"></span>Goal: Improve content portability and presentation<span data-mw-comment-end="h-Goal:_Improve_content_portability_and_presentation-Why_and_what_to_fix"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=8" title="Edit section: Goal: Improve content portability and presentation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Writing templates for content that works across different devices, different browser resolutions, different skins (and their themes e.g. dark mode), different websites (e.g. Wikiwand, <a href="/wiki/Kiwix" title="Kiwix">Kiwix</a>, <a href="/wiki/Wikimedia_Apps" title="Wikimedia Apps">Wikimedia Apps</a>) is tricky. While skins do their best to adapt to content, they are restricted in what they can do given the myriad of templates used across our sites. Where we can, issues are flagged for editors to assist. <code>night-mode-unaware-background-color</code>, <code>large-tables</code>, lint categories affect this goal. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="FAQ" data-mw-thread-id="h-FAQ"><span data-mw-comment-start="" id="h-FAQ"></span>FAQ<span data-mw-comment-end="h-FAQ"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=9" title="Edit section: FAQ"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-FAQ","replies":["h-When_are_lint_errors_for_a_page_updated?-FAQ","h-Should_pages_in_X_namespace_(e.g._talk)_be_fixed-FAQ"]}}--></div> <div class="mw-heading mw-heading3"><h3 id="When_are_lint_errors_for_a_page_updated?" data-mw-thread-id="h-When_are_lint_errors_for_a_page_updated?-FAQ"><span id="When_are_lint_errors_for_a_page_updated.3F"></span><span data-mw-comment-start="" id="h-When_are_lint_errors_for_a_page_updated?-FAQ"></span>When are lint errors for a page updated?<span data-mw-comment-end="h-When_are_lint_errors_for_a_page_updated?-FAQ"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=10" title="Edit section: When are lint errors for a page updated?"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Currently, all lint categories are populated by errors identified by <a href="/wiki/Parsoid" title="Parsoid">Parsoid</a> while parsing a page. When a page (or, template transcluded on a page) is edited, <a href="/wiki/Change_propagation" title="Change propagation">ChangeProp</a> requests a re-parse of that page from Parsoid, which will send the fresh results to the Linter extension. </p><p>This means that when a new category is introduced (or a correction is made to a previous category), it may take a while for all the results to be updated (if ever for pages that are rarely touched). Making a null edit would speed up the process individually. However, in <a href="https://phabricator.wikimedia.org/T161556" class="extiw" title="phab:T161556">phab:T161556</a>, we're exploring ways to reprocess all pages. </p> <div class="mw-heading mw-heading3"><h3 id="Should_pages_in_X_namespace_(e.g._talk)_be_fixed" data-mw-thread-id="h-Should_pages_in_X_namespace_(e.g._talk)_be_fixed-FAQ"><span id="Should_pages_in_X_namespace_.28e.g._talk.29_be_fixed"></span><span data-mw-comment-start="" id="h-Should_pages_in_X_namespace_(e.g._talk)_be_fixed-FAQ"></span>Should pages in X namespace (e.g. talk) be fixed<span data-mw-comment-end="h-Should_pages_in_X_namespace_(e.g._talk)_be_fixed-FAQ"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=11" title="Edit section: Should pages in X namespace (e.g. talk) be fixed"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The priority is <a href="/wiki/Special:MyLanguage/Manual:$wgContentNamespaces" title="Special:MyLanguage/Manual:$wgContentNamespaces">content namespaces</a>. The rest largely depend on the wiki. A lot of pages are used as a <a href="https://en.wikipedia.org/wiki/Sandbox_(software_development)" class="extiw" title="wikipedia:Sandbox (software development)">sandbox</a>, and as such deliberately contain errors. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Tools" data-mw-thread-id="h-Tools"><span data-mw-comment-start="" id="h-Tools"></span>Tools<span data-mw-comment-end="h-Tools"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=12" title="Edit section: Tools"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Tools","replies":[]}}--></div> <ul><li><a href="https://en.wikipedia.org/wiki/User:PerfektesChaos/js/lintHint" class="extiw" title="w:User:PerfektesChaos/js/lintHint">w:User:PerfektesChaos/js/lintHint</a> – a JavaScript gadget that shows a list of LintErrors (Parsoid messages) live</li> <li><a href="https://en.wikipedia.org/wiki/Wikipedia:WPCleaner/Linter" class="extiw" title="w:Wikipedia:WPCleaner/Linter">WPCleaner</a> – a Java program that interfaces with Linter and can also detect some of the errors</li> <li><a href="https://ja.wikipedia.org/wiki/User:MawaruNeko/ShowPageLintError.js" class="extiw" title="ja:User:MawaruNeko/ShowPageLintError.js">ja:User:MawaruNeko/ShowPageLintError.js</a> – a user script that shows all lint errors on a page</li> <li><a rel="nofollow" class="external text" href="https://github.com/RazeSoldier/Hclear-bot">Bot</a> by <a href="/wiki/User:%E6%98%9F%E8%80%80%E6%99%A8%E6%9B%A6" title="User:星耀晨曦">User:星耀晨曦</a> that can fix <a href="/wiki/Special:MyLanguage/Help:Extension:Linter/multiple-unclosed-formatting-tags" title="Special:MyLanguage/Help:Extension:Linter/multiple-unclosed-formatting-tags">multiple-unclosed-formatting-tags</a><span style="display:none"><a href="/wiki/Help:Extension:Linter/multiple-unclosed-formatting-tags" class="mw-redirect" title="Help:Extension:Linter/multiple-unclosed-formatting-tags"> </a></span> errors.</li></ul> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="See_also" data-mw-thread-id="h-See_also"><span data-mw-comment-start="" id="h-See_also"></span>See also<span data-mw-comment-end="h-See_also"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Help:Extension:Linter&amp;action=edit&amp;section=13" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-See_also","replies":[]}}--></div> <ul><li><a href="/wiki/Special:MyLanguage/Parsoid/API#Wikitext_->_Lint_2" title="Special:MyLanguage/Parsoid/API">Parsoid/API#Wikitext to lint</a></li> <li><a href="/wiki/Special:MyLanguage/Parsing/Replacing_Tidy" title="Special:MyLanguage/Parsing/Replacing Tidy">Parsing/Replacing Tidy</a></li> <li><a href="/wiki/Special:MyLanguage/Parsing/Replacing_Tidy/FAQ" title="Special:MyLanguage/Parsing/Replacing Tidy/FAQ">Parsing/Replacing Tidy/FAQ</a><span style="display:none"><a href="/wiki/Parsing/Replacing_Tidy/FAQ" title="Parsing/Replacing Tidy/FAQ"> </a></span></li> <li><a href="https://en.wikipedia.org/wiki/Wikipedia:Linter" class="extiw" title="w:Wikipedia:Linter">w:Wikipedia:Linter</a></li></ul> <!-- NewPP limit report Parsed by mw‐web.eqiad.main‐64476968cd‐2tb8d Cached time: 20241102074858 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] DiscussionTools time usage: 0.009 seconds CPU time usage: 0.180 seconds Real time usage: 0.262 seconds Preprocessor visited node count: 466/1000000 Post‐expand include size: 2332/2097152 bytes Template argument size: 1131/2097152 bytes Highest expansion depth: 14/100 Expensive parser function count: 3/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 2764/5000000 bytes Lua time usage: 0.010/10.000 seconds Lua memory usage: 1034095/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 70.398 1 -total 70.47% 49.611 4 Template:Ll 41.15% 28.969 8 Template:Translatable 29.34% 20.658 4 Template:Pagelang 22.93% 16.140 1 Template:Main 15.81% 11.127 1 Template:Hatnote 10.11% 7.118 3 Template:Int 8.20% 5.773 1 Template:TNTN 7.64% 5.377 1 Translations:Parsing/Replacing_Tidy/FAQ/Page_display_title/en --> <!-- Saved in parser cache with key mediawikiwiki:pcache:idhash:625575-0!canonical and timestamp 20241102074858 and revision id 6607073. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&amp;useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://www.mediawiki.org/w/index.php?title=Help:Extension:Linter&amp;oldid=6607073">https://www.mediawiki.org/w/index.php?title=Help:Extension:Linter&amp;oldid=6607073</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Categories</a>: <ul><li><a href="/wiki/Category:Extension_help" title="Category:Extension help">Extension help</a></li><li><a href="/wiki/Category:Linter" title="Category:Linter">Linter</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 28 June 2024, at 18:32.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. Text in <a class="external text" href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">the Help: namespace</a> is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </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/Project:About">About mediawiki.org</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Project:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/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/#/www.mediawiki.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="//m.mediawiki.org/w/index.php?title=Help:Extension:Linter&amp;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.config.set({"wgHostname":"mw-web.codfw.main-78f4c97c5d-kkr7f","wgBackendResponseTime":106,"wgDiscussionToolsPageThreads":[{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Documentation_of_lint_issues","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Why_and_what_to_fix","replies":[{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Goal:_Replacing_Tidy-Why_and_what_to_fix","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Goal:_Improving_compliance_between_rendering_of_the_PHP_parser_and_Parsoid-Why_and_what_to_fix","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Goal:_HTML5_output_compliance-Why_and_what_to_fix","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Goal:_Clarifying_editor_intent-Why_and_what_to_fix","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Goal:_Clean_markup-Why_and_what_to_fix","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Goal:_Improve_content_portability_and_presentation-Why_and_what_to_fix","replies":[]}]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-FAQ","replies":[{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-When_are_lint_errors_for_a_page_updated?-FAQ","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Should_pages_in_X_namespace_(e.g._talk)_be_fixed-FAQ","replies":[]}]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Tools","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-See_also","replies":[]}],"wgPageParseReport":{"discussiontools":{"limitreport-timeusage":"0.009"},"limitreport":{"cputime":"0.180","walltime":"0.262","ppvisitednodes":{"value":466,"limit":1000000},"postexpandincludesize":{"value":2332,"limit":2097152},"templateargumentsize":{"value":1131,"limit":2097152},"expansiondepth":{"value":14,"limit":100},"expensivefunctioncount":{"value":3,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":2764,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 70.398 1 -total"," 70.47% 49.611 4 Template:Ll"," 41.15% 28.969 8 Template:Translatable"," 29.34% 20.658 4 Template:Pagelang"," 22.93% 16.140 1 Template:Main"," 15.81% 11.127 1 Template:Hatnote"," 10.11% 7.118 3 Template:Int"," 8.20% 5.773 1 Template:TNTN"," 7.64% 5.377 1 Translations:Parsing/Replacing_Tidy/FAQ/Page_display_title/en"]},"scribunto":{"limitreport-timeusage":{"value":"0.010","limit":"10.000"},"limitreport-memusage":{"value":1034095,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-64476968cd-2tb8d","timestamp":"20241102074858","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10