Jump to content

Help:Extension:Linter/cs: Difference between revisions

From mediawiki.org
Content deleted Content added
Created page with "Tým pro analýzu, jako jeden ze svých dlouhodobých cílů, chce umožnit použití výstupu Parsoidu jak pro čtení, tak i pro úpravy."
Created page with "Protože Parsoid i RemexHTML jsou nástroje založené na HTML5, kategorie lint, které ovlivňují vykreslování RemexHTML, ovlivňují také vykreslování Parsoidu."
Line 42: Line 42:
V současné době se HTML kód generovaný analyzátorem PHP používá pro zobrazení pro čtení a HTML kód generovaný Parsoidem se [[Special:MyLanguage/Parsoid/Users|používá mimo jiné v editačních nástrojích a aplikacích pro Android]].
V současné době se HTML kód generovaný analyzátorem PHP používá pro zobrazení pro čtení a HTML kód generovaný Parsoidem se [[Special:MyLanguage/Parsoid/Users|používá mimo jiné v editačních nástrojích a aplikacích pro Android]].
Tým pro analýzu, [[Special:MyLanguage/Parsing#A: Move to adopt Parsoid as the primary MediaWiki wikitext parser|jako jeden ze svých dlouhodobých cílů]], chce umožnit použití výstupu Parsoidu jak pro čtení, tak i pro úpravy.
Tým pro analýzu, [[Special:MyLanguage/Parsing#A: Move to adopt Parsoid as the primary MediaWiki wikitext parser|jako jeden ze svých dlouhodobých cílů]], chce umožnit použití výstupu Parsoidu jak pro čtení, tak i pro úpravy.
Protože Parsoid i RemexHTML jsou nástroje založené na HTML5, kategorie lint, které ovlivňují vykreslování RemexHTML, ovlivňují také vykreslování Parsoidu.
<span lang="en" dir="ltr" class="mw-content-ltr">Since Parsoid and RemexHTML are both HTML5-based tools, the lint categories that affect RemexHTML's rendering also affect Parsoid's rendering.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">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.</span>
<span lang="en" dir="ltr" class="mw-content-ltr">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.</span>



Revision as of 07:44, 28 April 2025

Rozšíření Linter identifikuje vzory wikitextu, které je nutné nebo lze na stránkách opravit, spolu s pokyny, jaké jsou problémy s těmito vzory a jak je opravit.

Stránka Chyby nalezené Lintem seskupuje chyby podle typu. Některé z těchto problémů se dají snadněji najít na stránce Substituce šablon. Na této stránce budeme klasifikovat problémy s Linterem podle závažnosti problému vzhledem k cílům, které tyto problémy blokují. Více informací a diskuse k tomuto tématu je uvedeno níže.

Ve spodní části stránky Chyby nalezené Lintem je nová funkce "Zobrazit všechny chyby Linteru pro konkrétní stránku", která umožňuje editorovi zobrazit přehled všech chyb na jedné stránce. Zpráva obsahuje kategorii a další užitečné informace a každá chyba má klikatelný odkaz, který načte stránku a chybu zvýrazní. (Poznámka: Pokud má váš editor zdrojového kódu povoleno zvýrazňování syntaxe, nemusí zvýrazňování fungovat). Pokud budete postupovat od konce seznamu směrem nahoru, změny na stránce nezneplatní posuny znaků dřívějších chyb a je to doporučený způsob práce, pokud opravujete všechny chyby na stránce.

Budeme i nadále vylepšovat funkčnost, abychom eliminovali šum, opravili chyby a zvýšili praktičnost výstupu Linteru, ale aktuální výstup je připraven k použití a akci.

Dokumentace problémů s lintováním

Hlavní stránka: Help:Lint errors

Proč a co opravit

Do budoucna plánuje parsovací tým využít rozšíření Linter k identifikaci vzorů wikitextu:

  • Které jsou chybné (např. falešné možnosti obrázků – obvykle způsobené překlepy nebo tím, že parsování možností médií v MediaWiki je křehké).
  • Které jsou zastaralé (např.: samozavírací tagy)
  • Které se mohou přerušit kvůli změnám v parsovacím kanálu (např.: nahrazení Tidy za RemexHTML)
  • Které již nejsou platné v HTML5 (např. zastaralé tagy jako center, font)
  • Které jsou potenciálně poškozené a analyzátor je může špatně interpretovat oproti tomu, co editor zamýšlel (např. neuzavřené HTML tagy, špatně vnořené HTML tagy)

Ne všechny je nutné opravit okamžitě, nebo dokonce vůbec (v závislosti na vaší toleranci k lintům). Různé cíle se dosahují opravou různých podmnožin výše uvedených problémů s linty. My (parsovací tým) se budeme snažit být ohledně těchto cílů transparentní a poskytneme vám rady, které cíle se dosahují opravou kterých problémů.

Zjednodušené pokyny jsou uvedeny na stránce s častými dotazy.

V rámci řešení technických nedostatků v parsovacím kanálu MediaWiki jsme nahradili Tidy nástrojem založeným na HTML5. To by však narušilo vykreslování malé podmnožiny stránek, pokud by nebyly opraveny určité vzory wikitextu. Konkrétně se jednalo o problémy nalezené v kategoriích deletable-table-tag, pwrap-bug-workaround, self-closed-tag, tidy-whitespace-bug, html5-misnesting a tidy-font-bug. Abychom mohli včas nahradit Tidy, klasifikovali jsme všechny tyto problémy jako vysoce prioritní.

V současné době se HTML kód generovaný analyzátorem PHP používá pro zobrazení pro čtení a HTML kód generovaný Parsoidem se používá mimo jiné v editačních nástrojích a aplikacích pro Android. Tým pro analýzu, jako jeden ze svých dlouhodobých cílů, chce umožnit použití výstupu Parsoidu jak pro čtení, tak i pro úpravy. Protože Parsoid i RemexHTML jsou nástroje založené na HTML5, kategorie lint, které ovlivňují vykreslování RemexHTML, ovlivňují také vykreslování Parsoidu. 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.

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, User:Legoktm/HTML+MediaWiki outlines a proposal for handling the html5-deprecated big tag. In any case, fixing issues in the obsolete-tag, self-closed-tag categories advance this goal. Given lack of clarity around this goal, we have accordingly marked the obsolete-tag category as a low-priority goal.

Goal: Clarifying editor intent

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 bogus-image-options, fostered-content, misnested-tag, missing-end-tag 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.

Goal: Clean markup

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. misnested-tag, missing-end-tag, stripped-tag lint categories affect this goal.

Goal: Improve content portability and presentation

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, Kiwix, Wikimedia Apps) 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. night-mode-unaware-background-color, large-tables, lint categories affect this goal.

FAQ

When are lint errors for a page updated?

Currently, all lint categories are populated by errors identified by Parsoid while parsing a page. When a page (or, template transcluded on a page) is edited, ChangeProp requests a re-parse of that page from Parsoid, which will send the fresh results to the Linter extension.

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 phab:T161556, we're exploring ways to reprocess all pages.

Should pages in X namespace (e.g. talk) be fixed

The priority is content namespaces. The rest largely depend on the wiki. A lot of pages are used as a sandbox, and as such deliberately contain errors.

Tools

See also