Hola,
Estoy tratando de averiguar por qué la cocción posterior no está funcionando para el plugin Landing Pages y cómo podría hacerlo funcionar (si es posible) sin modificar el plugin, pero si tuviera que hacerlo, ¿qué podría hacer? Ruby no es mi fuerte.
En mi instancia de Discourse, he instalado el componente PDF-Preview así como el plugin Discourse-Chart. Sin embargo, al renderizar la publicación, esta no se cocina en absoluto. O al menos, no tiene en cuenta los plugins y componentes de tema existentes.
Para renderizar la publicación en las páginas de aterrizaje, se aplica y ejecuta el siguiente código.
En el archivo html.erb:
::LandingPages::Post.html(@topic_view.posts.first).html_safe
lo cual llama al siguiente código en 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
A partir de aquí, no estoy seguro de qué está sucediendo. Supongo que post.cooked simplemente devuelve el texto cocido de la publicación, pero esto significa que ya se ejecutó al cargar la página…
¡Gracias por su ayuda!