Help:Lint errors/pwrap-bug-workaround/es
![]() | En la mayoría de los wikis, parece que el mayor generador de estas advertencias de Linter son las plantillas nowrap y nowrap begin. La corrección más sencilla que lidiará con la inmensa mayoría de estos casos consiste en añadir una nueva línea antes de la etiqueta de apertura <span> en el código fuente de estas plantillas. El texto de ayuda de esta página referencia a Tidy, que ya no se utiliza en el clúster de Wikimedia. Fue reemplazado por RemexHtml en julio de 2018. |
Esta categoría del linter fue creada para ayudar a los editores a corregir el wikitexto y las plantillas para garantizar que sus páginas se muestren correctamente con una herramienta basada en HTML5 como RemexHTML (que está previsto que sustituya a Tidy) y Parsoid. Concretamente, esto tiene que ver con un error de envoltura de párrafos en el analizador sintáctico de PHP. Afecta a las etiquetas span, sub y sup que se encuentren en la misma línea que una etiqueta (HTML4) de bloque y además tengan una propiedad CSS white-space:nowrap;
.
En todos los escenarios identificados por esta categoría del linter, recomendamos añadir un salto de línea antes de la etiqueta span/sub/sup para garantizar que se preserve la representación de la página cuando se reemplace Tidy por RemexHTML.
Explicación
El siguiente wikitexto:
<div><span style='white-space:nowrap'>
foo
</span>
</div>
genera el siguiente HTML en (analizador PHP + RemexHTML) y Parsoid:
<div><span style='white-space:nowrap'>
<p>foo</p>
</span>
</div>
pero genera el siguiente HTML en (analizador PHP + Tidy):
<div>
<p><span style='white-space:nowrap'>foo</span></p>
</div>
Observa cómo la etiqueta p envuelve a la etiqueta span en Tidy pero la etiqueta span envuelve a la etiqueta p en RemexHTML.
Normalmente, esto no supone un problema (excepto en términos de cumplimiento de la salida HTML5, que es otra cuestión).
Sin embargo, cuando la etiqueta span tiene la propiedad CSS white-space:nowrap
, un span que envuelve la etiqueta p puede cambiar negativamente la representación de la página cuando el párrafo tiene mucho contenido.
Produce una larga línea horizontal sin envoltura.
Este parece ser el caso de las fichas de navegación, por ejemplo.
Solucionar el error subyacente (T134469) no es trivial (y aún vamos a seguir considerando esto). Sin embargo, hay un apaño simple para este error que consiste en añadir un salto de línea antes de la etiqueta span para que no esté en la misma línea que una etiqueta de nivel de bloque tal como div.
Así que el wikitexto corregido tendría este aspecto:
<div>
<span style='white-space:nowrap'>
foo
</span>
</div>