Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Text-run paragraphs miss the synthetic paragraph carrier reset

Abierto Apto para principiantes
#2,803 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
php, wordpress
Área
backend

Línea de trabajo

Empieza en HtmlCompilation::convertText(), donde se construye el portador de validez core/paragraph para los nodos de texto de origen, y luego revisa createBlock(), que añade SYNTHETIC_PARAGRAPH_CLASS solo cuando el contenido contiene class=. Comprueba cómo EngineSupportCss aplica su reinicio del portador con especificidad cero. Ejecuta la reproducción del issue y confirma que la línea .author mide 28px de alto. Está terminado cuando los fragmentos de texto plano reciben la clase de párrafo sintético y la reproducción coincide con la altura del origen.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Problem

Bare text inside a lowered container (<div class="author">Anonyme</div>) becomes a plain <p> with no blocks-engine-synthetic-paragraph class. That paragraph has no source box, but it renders with the UA paragraph margins of 1em top and bottom.

Reproduction (neutral)

<style>.review{display:flex;flex-direction:column}.author{font-weight:600;margin-top:16px}</style>
<main><div class="review"><p class="body">Quote text here.</p><div class="author primary">Anonyme</div></div></main>

Output: <div class="wp-block-group author primary …"><p>Anonyme</p></div>. In the source, .author is 28px tall; in the import it is 60px tall, because of the 16px UA margin above and below the paragraph.

On a real capture (nostar2.com reviews carousel), every slide's author line grows 32px. The section and everything below it drift 32px.

Root cause

HtmlCompilation::convertText() builds the validity-carrier core/paragraph for a source text node. createBlock() adds SYNTHETIC_PARAGRAPH_CLASS to source-less paragraphs only when their content contains class= (styled inline leaves). Plain text runs never get the class, so EngineSupportCss's zero-specificity carrier reset (margin:0, display:contents) doesn't apply to them.

Expected

Every paragraph convertText() synthesizes for a source text run is marked as a synthetic paragraph. The text then renders in its parent's box, exactly as in the source.


AI disclosure: found and reduced with Claude (Anthropic) in the Pi coding agent during the nostar2.com import parity loop.

Lenguaje dominante
PHP
Estrellas
21
Forks
2
Merge medio
7 h 30 min
PR fusionados (30 d)
725

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Automattic/blocks-engine

Todos los issues de Automattic/blocks-engine

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.