Ad esempio, un post potrebbe essere **testo qui in grassetto** e qualcos'altro qui
Dopo l’importazione, Discourse lo mostra così com’è, senza usare la sintassi Markdown ** per mettere in grassetto la parte “testo qui in grassetto”. E stranamente, anche se provo a modificare un post del genere usando la normale interfaccia grafica di Discourse, ignorerà qualsiasi formattazione.
Lo script di importazione utilizza cook_method: Post.cook_methods[:raw_html],
Ho anche provato cook_method: Post.cook_methods[:regular],
senza alcun cambiamento visibile.
Come posso far riconoscere a Discourse il Markdown durante l’importazione dei dati?
Ho preso uno dei post incriminati, sono entrato in modalità di modifica, ho copiato il contenuto e ho creato un nuovo post con esso. Il nuovo post utilizza la formattazione Markdown, vedo testo in grassetto e un link con un titolo.
Nel database il loro raw è identico ma il loro cooked non lo è.
SELECT (SELECT raw FROM posts WHERE id = 13846) = (SELECT raw FROM posts WHERE id = 13735); → t
SELECT (SELECT cooked FROM posts WHERE id = 13846) = (SELECT cooked FROM posts WHERE id = 13735); → f
Fare clic su “Rebuild HTML” sui post formattati in modo errato non apporta alcuna modifica.
/logs/ non mostra nulla in questo momento (solo vecchi avvisi ed errori).
Quando lo modifico, l’anteprima appare corretta, la formattazione Markdown viene applicata lì (ad es. “foo”). Una volta salvato, il post mostrerà ancora i caratteri di formattazione (ad es. “**foo**”)
/var/www/discourse$ bundle exec rails c
Caricamento dell'ambiente di produzione (Rails 7.0.7)
irb(main):001:0> Post.update_all(cook_method: Post.cook_methods[:regular])
=> 13809
irb(main):002:0>
Fatto! Purtroppo nessun cambiamento.
Ma ho risolto. E mi dispiace di non aver menzionato quali plugin avevo installato poiché possono interferire…
Ho installato e abilitato il Topic Ratings Plugin per la categoria in cui vanno le mie importazioni.
Per capriccio ho disabilitato il plugin e ho provato di nuovo a modificare un post “rotto”. Ora, al momento del salvataggio, la formattazione Markdown è stata utilizzata per il rendering avanzato. Ho riabilitato il plugin e ho riprovato con successo. Ho importato nuovi post e ora anche questi vengono renderizzati correttamente (utilizzando cook_method: Post.cook_methods[:regular]).
Non ho idea di cosa stesse succedendo lì, ma sembra che sia stato risolto disattivando e riattivando il Topic Ratings Plugin.\n\nGrazie a tutti per gli ottimi suggerimenti e la caccia al problema!