Ecco un estratto di un post creato sul sito di discussione del progetto Fedora dal nostro Community Blog:
<p>Raccontaci cosa ne pensi. Useresti questa pagina come homepage ora che ha un campo di ricerca? Come pensi che possiamo migliorarla ulteriormente?</p> <p class="has-text-align-center">O</p> <p>Se sei interessato a vedere di più, dai un'occhiata alla <a href="https://discussion.fedoraproject.org/t/how-do-you-feel-about-the-new-design-of-start-fedoraproject-org-page/28689">bozza su Figma</a>.</p>
Notate come quelle righe di immagini in markdown non iniziano effettivamente su nuove righe? Questo fa sì che le immagini non vengano visualizzate. Se modifico il messaggio e aggiungo un ritorno a capo prima di ogni ![], le immagini vengono visualizzate correttamente.
C’è qualcosa che posso modificare nella nostra configurazione per risolvere il problema? O si tratta semplicemente di un bug nel plugin?
Potresti condividere un link al post originale di WP e al post di Discourse con l’estratto, se sono pubblicati pubblicamente?
Il plugin WP Discourse si limita a passare a Discourse tutto il codice HTML presente nel post di WP, che poi lo elabora per includerlo nel post di Discourse. Quindi, la modalità con cui l’HTML viene visualizzato negli estratti dei post di WordPress su Discourse dipende da due fattori:
La struttura originale dell’HTML in WordPress (ad esempio)
Il modo in cui il parser Markdown di Discourse interpreta l’HTML per la visualizzazione nei post di Discourse (ad esempio).
Quindi, si tratta o di una questione relativa alla struttura HTML di WordPress (che è essenzialmente al di fuori di WP Discourse o dello stesso Discourse), o principalmente di un’opinione su ciò che un parser HTML dovrebbe fare, anche se a volte è possibile apportare miglioramenti chiari in questo ambito.
Detto questo, a volte vale la pena approfondire i dettagli del parsing, quindi se hai ulteriori informazioni sulla struttura HTML del post di WP, condividile pure e approfondirò l’indagine
Ho avuto un problema simile in questo post di Discourse, creato dal plugin RSS polling (non il plugin WordPress):
Il ™ in quella prima riga era in realtà un tag HTML <img>, e il plugin RSS lo ha trasferito correttamente. Tuttavia, il post si è rotto quando Discourse ha eseguito il passaggio “scarica copie locali delle immagini”:
@simonk Grazie per quella utile indagine. Entrambi potete risolvere il problema inserendo i vostri domini WP nelle impostazioni del sito domini con download immagini disabilitato.
Se vuoi approfondire la questione, ovvero cercare di gestirla in modo automatizzato, la differenza tra il caso di @mattdm e il tuo evidenzia la complessità in gioco. Lui si aspetta che il comportamento del browser sugli elementi HTML <p> e <img> venga mantenuto sotto forma di un a capo nel markdown, mentre tu ti aspetti quasi (ma non esattamente) l’opposto, ovvero che l’immagine venga comunque visualizzata in linea con le stesse dimensioni dell’elemento <img> presente nell’HTML originale.
Per ulteriori informazioni su questo aspetto del problema, puoi consultare i post esistenti a riguardo, ad esempio:
Spero che possiamo tutti concordare sul fatto che qualcosa che fa sì che Discourse mostri il markdown grezzo invece di renderizzarlo non può assolutamente essere corretto, soprattutto quando quel markdown _è stato creato dal plugin. Sto tralasciando qualcosa qui?
Le immagini saranno collegate direttamente agli originali.
Scusa, sono confuso: pensavo che la tua preoccupazione riguardasse gli a capo? Stai dicendo che la versione pubblicata (cioè quando stai solo leggendo, non modificando) contiene il markdown grezzo, e questo è il tuo problema?
Il plugin invia solo l’HTML grezzo. Il markdown viene generato quando il post viene elaborato in Discourse.
Prova con disabled image download domains e vedi come va.
A causa della mancanza di un ritorno a capo, quando Discourse visualizza la pagina — agli utenti, non agli editori —, invece di mostrare le immagini dove appare , vedi letteralmente quel testo. È necessario che intervenga un essere umano per modificare il post una volta pubblicato automaticamente e aggiungere dei ritorni a capo prima di ogni istanza dell’immagine, affinché queste vengano effettivamente visualizzate.
Posso farlo, ma preferirei che le immagini venissero scaricate: è una bella funzionalità se l’altro sito è offline, se il blog cambia o in altre circostanze. Inoltre, non siamo vicini alla capacità massima del nostro hosting, quindi non mi preoccupa lo spazio.
La cosa fondamentale per noi è mantenere l’integrità del contenuto, quindi la soluzione basata sulle nuove righe probabilmente non verrà implementata.
Il problema è che, se si tentasse di correggere automaticamente il problema che stai descrivendo, si potrebbero creare altre problematiche. La soluzione attuale è aggiungere il tuo dominio WordPress all’impostazione del sito disabled image download domains.
modifica Ho fatto una piccola proposta in tal senso, ma è speculativa e ribadisco che la soluzione attuale è disabilitare il download delle immagini per il tuo dominio WP.
Non sto davvero capendo il punto fondamentale qui. Come viene mantenuta l’integrità del contenuto con il comportamento attuale? Chiaramente non lo è.
Sembra che, se si intende sostituire l’HTML con il Markdown, l’unica risposta corretta sia sostituirlo con un Markdown che venga renderizzato correttamente.
Non stiamo facendo nulla di speciale sul lato WordPress: usiamo semplicemente l’editor a blocchi standard e le persone aggiungono immagini nel modo consueto di WordPress.
Procederò a usare l’impostazione “disabilita download immagini” per vedere se ci aiuta, ma preferirei davvero, davvero che tutto funzionasse senza problemi.
Capisco il tuo punto di vista e non sto dicendo che non sarebbe l’ideale, ma trasformare un motore di discussioni basato sul Markdown in un motore di rendering HTML perfetto non è una cosa semplice, anche se casi singoli sembrano superficialmente banali (ad esempio, basta aggiungere una nuova riga).
La possibilità di renderizzare l’intero HTML di un post del blog su Discourse è una bella funzionalità, ma alla fine dei conti è solo una delle tante in un sistema focalizzato sulle discussioni formattate in Markdown.
Se segui la discussione a cui ho fatto riferimento, incluso il recente post di David, vedrai che ci sono alcune possibili strade che potremmo intraprendere. Una di queste potrebbe funzionare e risolverebbe proprio questo caso specifico. Se esistesse una soluzione più semplice, avrei sicuramente già creato una PR per Discourse per affrontarla.
Fammi sapere se hai problemi con il download delle immagini e lavorerò con te per risolverli. Ti farò sapere se troveremo una via percorribile sul fronte tecnico.