Plėtinys:Linter
Linter Release status: stable |
|
---|---|
Implementation | Special page |
Description | Expose and track lint errors |
Author(s) | Kunal Mehta (Legoktmaptarimas) |
MediaWiki | >= 1.43 |
Database changes | Yes |
Tables | linter |
License | GNU General Public License 2.0 or later |
Download | README |
|
|
Quarterly downloads | 63 (Ranked 72nd) |
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 .
Įdiegimas
- Download and move the extracted
Linter
folder to yourextensions/
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.
Nustatymų parametrai
In the $wgParsoidSettings section of your LocalSettings.php file, set
$wgParsoidSettings = [
'linting' => true
];
Upgrading to MediaWiki 1.43.x
Updating the Linter Database Table for MediaWiki 1.43 may need special attention.[1]
The "update.php" script runs two time-consuming migration scripts that update the Linter database table at approximately 500 rows per second. Running "update.php" directly is recommended.
For large Linter tables where extended maintenance time is not feasible:
- Upgrading from 1.40+
- Set
$wgLinterWriteNamespaceColumnStage = true
- Set
$wgLinterWriteTagAndTemplateColumnsStage = true
- Run
path/to/extensions/Linter/maintenance/migrateNamespace.php
- Run
path/to/extensions/Linter/maintenance/migrateTagTemplate.php
- Proceed with MediaWiki and extensions update to 1.43
- Upgrading from 1.39 or earlier
- Update to MediaWiki 1.42 first
- Then follow steps above for 1.40+ upgrade
API
list=linterrors (lnt)
- This module requires read rights.
- Source: Linter
- License: GPL-2.0-or-later
Get a list of lint errors
- lntcategories
Categories of lint errors
- Values (separate with | or alternative): bogus-image-options, deletable-table-tag, duplicate-ids, fostered, fostered-transparent, html5-misnesting, large-tables, 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, night-mode-unaware-background-color, 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|duplicate-ids|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|night-mode-unaware-background-color|obsolete-tag|stripped-tag
- 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
- Get all lint errors of the obsolete-tag category
- api.php?action=query&list=linterrors&lntcategories=obsolete-tag [open in sandbox]
meta=linterstats (lntrst)
- This module requires read rights.
- Source: Linter
- License: GPL-2.0-or-later
Get number of lint errors in each category
- Get number of lint errors in each category
- api.php?action=query&meta=linterstats [open in sandbox]
Linter categories
A list of linter categories is available in site info properties.
Bootstrap or reprocess all pages
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
The extension provides the Special:LintErrors page.
Configuring available lints
The Special:LintErrors page displays available lints with associated priority that have been defined in the configuration parameter $wgLinterCategories.
Each linter category has the following fields:
- dbid: the unique id associated with the lint category used in the database.
- enabled: whether the lint rule is enabled. If lints are disabled they will not be accessible from the special page.
- priority: either none, low, medium or high. Lints that are none will not be listed on Special:LintErrors but will be accessible through the web via the associated subpage.
- no-params: no parameters are associated with the lint category.
- has-name: indicates that the lints are expected to contain a
name
parameter, so the special page displays the column in the UI.
For new lints, it is recommended that by default they are defined as priority none and that they are promoted after testing and some discussion with the linting community. No formal process exists for promoting lint priorities at time of writing.
References
This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |