Encabezados HTML con saltos de línea -> sin encabezado e inconsistencia entre la vista previa y la publicación renderizada

Hola, tengo algunas publicaciones importadas de otro software de foros con saltos de línea en los encabezados. Estos se muestran correctamente en la vista previa de la publicación, pero no se renderizan como encabezados en la publicación final. Estoy viendo este problema en mi foro actualizado ayer y también aquí en Discourse Meta:


Prueba de encabezado con saltos de línea

Párrafo normal.

Encabezado sin saltos de línea


Deja el <h2> en blanco y envuelve el texto posterior en <p>:

<h2 dir="ltr">
</h2><p dir="ltr">Prueba de encabezado con saltos de línea</p>

Estoy 99% seguro de que se trata de una regresión reciente, ya que verifiqué específicamente los encabezados en las publicaciones importadas del mismo usuario durante el proceso de migración, y el usuario y yo recordamos que se renderizaban correctamente.

2 Me gusta

Hmm, dado el material LTR allí, @Osama, ¿podría estar relacionado con el volteador de CSS que agregamos recientemente?

2 Me gusta

No lo creo porque el HTML final/cocinado de la publicación es incorrecto y el volteador de CSS (ya sea el antiguo o el nuevo) no está involucrado en el proceso de cocción de la publicación.

^ el texto dentro del <p> debería estar dentro del <h2> y no debería haber ningún <p> en absoluto (creo).

6 Me gusta

Esto parece ocurrir durante la cocción, específicamente el análisis de markdown.

Pasar una cabecera con saltos de línea a PrettyText.markdown devuelve el contenido de la cabecera envuelto en una etiqueta p.

Y luego, durante la limpieza, el párrafo se extrae de la etiqueta de cabecera, lo que da como resultado lo siguiente:

Supongo que esto sucede ya que un párrafo en una etiqueta de cabecera no cumple con las especificaciones.

Todavía estoy revisando el código del analizador de markdown para averiguar por qué el contenido se envuelve en una etiqueta p en primer lugar.

2 Me gusta

Esto está muy relacionado con:

No me importa esperar unas semanas más a que salga Loofah.

Enviaré un Tweet a Mike para mencionarle que esto ha surgido.

2 Me gusta

Hola, gracias por investigar esto. A HTML no le importan los saltos de línea, así que técnicamente esto es correcto:

<h2>

Encabezado de prueba con saltos de línea

</h2>

Simplemente parece ser un problema del analizador de Markdown que se ejecuta después/dentro del analizador de HTML, que está generando etiquetas <p> para los saltos de línea.

1 me gusta

Hola, hemos solucionado esto con

como se ve aquí:

Prueba de encabezado con saltos de línea

Párrafo normal.

##Encabezado sin saltos de línea##


8 Me gusta

Me alegra oírlo, ¡gracias @nat! ¿Esto requiere volver a procesar las publicaciones?

2 Me gusta

Sí, requiere un nuevo horneado; no podemos hacerlo automáticamente con esta corrección, ya que es una operación costosa.

3 Me gusta

Este tema se cerró automáticamente después de 2 días. Ya no se permiten nuevas respuestas.