Extension:Linter

This extension comes with MediaWiki 1.40 and above. Thus you do not have to download it again. However, you still need to follow the other instructions provided.
MediaWiki extensions manual
Linter
Release status: stable
Implementation Special page
Description Expose and track lint errors
Author(s) Kunal Mehta (Legoktmtalk)
MediaWiki >= 1.42
Database changes Yes
Tables linter
License GNU General Public License 2.0 or later
Download
README
Help Help:Extension:Linter
  • $wgLinterUseNamespaceColumnStage
  • $wgLinterCategories
  • $wgLinterStatsdSampleFactor
  • $wgLinterUserInterfaceTagAndTemplateStage
  • $wgLinterWriteTagAndTemplateColumnsStage
  • $wgLinterWriteNamespaceColumnStage
Quarterly downloads 47 (Ranked 104th)
Public wikis using 884 (Ranked 294th)
Translate the Linter extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The Linter extension tracks lint errors from an external service. Currently the main use case is to track the errors identified by Parsoid and expose them to editors. Help for users wanting to fix errors is available at Help:Extension:Linter .

Installation edit

This extension requires linting enabled in Parsoid's configuration.
  • Download and move the extracted Linter folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Linter
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'Linter' );
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration parameters edit

Be warned that this config is not sufficient to get lints run or linter errors reported as of February 2024. There may be missing documentation.

In the $wgParsoidSettings section of your LocalSettings.php file, set

$wgParsoidSettings = [
    'linting' => true
];


API edit

list=linterrors (lnt)

(main | query | linterrors)

Get a list of lint errors

Specific parameters:
Other general parameters are available.
lntcategories

Categories of lint errors

Values (separate with | or alternative): bogus-image-options, deletable-table-tag, fostered, html5-misnesting, misc-tidy-replacement-issues, misnested-tag, missing-end-tag, missing-end-tag-in-heading, multi-colon-escape, multiline-html-table-in-list, multiple-unclosed-formatting-tags, obsolete-tag, pwrap-bug-workaround, self-closed-tag, stripped-tag, tidy-font-bug, tidy-whitespace-bug, unclosed-quotes-in-heading, wikilink-in-extlink
Default: deletable-table-tag|html5-misnesting|misc-tidy-replacement-issues|multiline-html-table-in-list|multiple-unclosed-formatting-tags|pwrap-bug-workaround|self-closed-tag|tidy-font-bug|tidy-whitespace-bug|unclosed-quotes-in-heading|bogus-image-options|fostered|misnested-tag|multi-colon-escape|wikilink-in-extlink|missing-end-tag|missing-end-tag-in-heading|obsolete-tag|stripped-tag
lntinvisible-categories

Invisible categories of lint errors

Values (separate with | or alternative): large-tables
Default: large-tables
lntlimit

Number of results to query

Type: integer or max
The value must be between 1 and 500.
Default: 10
lntnamespace

Only include lint errors from the specified namespaces

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 90, 91, 92, 93, 100, 101, 102, 103, 104, 105, 106, 107, 486, 487, 710, 711, 828, 829, 1198, 1199, 2600, 5500, 5501
To specify all values, use *.
lntpageid

Only include lint errors from the specified page IDs

Type: list of integers
Separate values with | or alternative.
Maximum number of values is 50 (500 for clients that are allowed higher limits).
lnttitle

Only include lint errors from the specified page title

lntfrom

Lint ID to start querying from

Type: integer
Example:
Get all lint errors of the obsolete-tag category
api.php?action=query&list=linterrors&lntcategories=obsolete-tag [open in sandbox]

meta=linterstats (lntrst)

(main | query | linterstats)

Get number of lint errors in each category


Example:
Get number of lint errors in each category
api.php?action=query&meta=linterstats [open in sandbox]


Linter categories edit

A list of linter categories is available in site info properties.

Bootstrap or reprocess all pages edit

Instead of running refreshLinks.php , it's possible to populate lint errors by querying parsoid directly. See phab:T161556#3184216 for an example script.

Special pages edit