Aide:Erreurs de lint/Guillemets non fermés dans un titre
Cette page concerne l'erreur Linter unclosed-quotes-in-heading.
Problème
| Wikicode | Sortie HTML |
|---|---|
__TOC__
texte
==''foo==
bar
|
<div class="toc" id="toc">
..
<ul><li>..<i>foo</i>..</li></ul>
..
</div>
<i><p>texte</p></i>
<h2><i>foo</i></h2>
<i><p>bar</p></i>
|
Comme vous pouvez le voir, les guillemets non fermés font que la balise <i> s'applique sur le reste de la page à partir de là.
Qui plus est, la balise non fermée est ajoutée à la table des matières et s'applique ensuite au reste de la page à partir de là, ce qui casse le rendu de la page.
Solution
Fermer tout guillemet ou triple apostrophe ouvert, dans les titres.
Pourquoi cela se produit-il ?
C'est la même cause que dans le cas Help:Extension:Linter/pwrap-bug-workaround et dans les cas Help:Extension:Linter/multiline-html-table-in-list.
Le parseur PHP ne dispose pas de suffisamment d'informations pour reconnaître les structures HTML5.
Il analyse le wikitexte majoritairement ligne par ligne ce qui peut altérer la reconnaissance des balises HTML. Il s'appuie sur RemexHtml pour y remédier.
Dans ces cas, il génère le HTML sous la forme ..<ul><li>..<i>foo</li></ul>..<h2><i>foo</h2></i>.
On peut remarquer la balise <i> non fermée dans le TOC et la balise <i> mal imbriquée dans l'en-tête.
Outils
Les outils suivants peuvent vous aider à corriger les guillemets non fermés dans les titres :
- WPCleaner : instructions pour utiliser WPCleaner pour corriger les erreurs détectées par Linter. Les problèmes de guillemets dans les titres peuvent être rapportés par WPCleaner comme partie de l'erreur n°537 du projet CheckWiki.