L'immagine del post non viene visualizzata dopo essere stata scaricata su Discourse

Ciao!

Ho alcuni articoli su WP come questo: Et vous, vous avez appris vite ? - Monocycle.info
che vengono inviati su Discourse. Inizialmente, l’immagine remota viene visualizzata correttamente nel post di Discourse, ma quando l’immagine remota viene scaricata su Discourse, non viene più mostrata: Et vous, vous avez appris vite ? - Actualités - Monocycle.info

Esaminando il codice del post di Discourse dopo che l’immagine è stata recuperata su Discourse, appare così:

Se aggiungo una riga vuota prima del codice dell’immagine, questa viene visualizzata correttamente:

Ecco il codice dell’articolo su WP:

<!-- wp:paragraph -->
<p>Dans le cadre d'une recherche sur l'apprentissage du monocycle, Claudia Stehr et Klaas Bil s'intéressent au temps de l'apprentissage. Et pour cela, ils ont besoin d'un grand nombre de statistiques.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour les aider, <a href="https://forms.gle/SEQtC6JQyw3tA7jv9">répondez à leur questionnaire</a> (version française) ! Si vous avez déjà répondu dans une autre langue, il ne faut pas doublonner. :)</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center"} -->
<div class="wp-block-image"><figure class="aligncenter"><img src="https://lh5.googleusercontent.com/N8Qtu1XBr7hK4Wg3hkxiMWPdU9V_czUuNS8VjHVxWfnLlQTCKrlUM2QoWrt9Zd4iXeMceaX7sZSi_8J_dJhOAgpISIdLdjguoSY0ZfrjCoHs6KEfBrXmrJcKU7tsyGaIqQ=w650" alt="" title=""/></figure></div>
<!-- /wp:image -->

Cosa succede esattamente? Si tratta di un bug WP-Discourse / Markdown o di qualcos’altro?

Questo riguarda il modo in cui Discourse gestisce la conversione da HTML a Markdown (non c’entra con WP Discourse). Ho provato a riprodurre il tuo problema, tuttavia il tag <img> non viene convertito in un’immagine markdown e viene visualizzato correttamente (anche dopo la ‘cottura’ del post).

https://try.thepavilion.io/t/html-image-markdown-test/985

1 Mi Piace

Ho frainteso qualcosa? L’immagine non viene visualizzata nel tuo link:

@Arkshine mi ha inviato questa soluzione che aggiunge uno spazio vuoto prima di un’immagine:

add_filter('wp_discourse_excerpt', [$this, 'wp_discourse_excerpt'], 10, 1);

/**
 * Aggiunge spazi vuoti sopra qualsiasi tag <img>.
 * Lo scopo è evitare che Discourse non riesca a visualizzare l'immagine scaricata in markdown.
 *
 * @param $post_content
 *
 * @return string
 */
public function wp_discourse_excerpt($post_content)
{
    $post_content = preg_replace('/(<img\s)/i', "\n\n$1", $post_content);
    $post_content = preg_replace('/[\n]{3,}/', "\n\n", $post_content);

    return $post_content;
}

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.