Ciao,
Sto cercando di capire perché la cottura (cooking) dei post non funziona per il plugin Landing Pages e come potrei farla funzionare (se possibile) senza modificare il plugin, ma se fosse necessario, cosa potrei fare? Ruby non è il mio forte.
Sulla mia istanza di Discourse ho installato sia il componente PDF-Preview che il plugin Discourse-Chart. Tuttavia, quando viene renderizzato il post, questo non viene affatto “cotto”. O almeno, non tiene in considerazione i plugin e i componenti del tema esistenti.
Per renderizzare il post nelle Landing Pages viene applicato ed eseguito il seguente codice.
Nel file html.erb:
::LandingPages::Post.html(@topic_view.posts.first).html_safe
che chiama il seguente codice in discourse-landing-pages/lib/landing-pages/post.rb:
class ::LandingPages::Post
def self.html(post, remove_topic_image: true)
fragment = Nokogiri::XML.fragment(post.cooked)
if remove_topic_image && topic_image_sha1 = post.topic&.image_upload&.sha1
if image_node = fragment.css("a[href*='#{topic_image_sha1}']").first
image_node.parent.remove
end
end
fragment.to_html
end
end
Da qui, non sono sicuro di cosa stia succedendo. Suppongo che post.cooked restituisca semplicemente il testo del post già cotto, il che significa che è stato già elaborato al caricamento della pagina…
Grazie per il tuo aiuto!