Olá,
Estou tentando entender por que o “post cooking” não está funcionando para o plugin Landing Pages e como poderia fazê-lo funcionar (se possível) sem alterar o plugin, mas, se fosse necessário, o que eu poderia fazer? Ruby não é meu forte.
Na minha instância do Discourse, instalei o componente PDF-Preview, bem como o plugin Discourse-Chart. No entanto, ao renderizar o post, ele não é “cozido” de forma alguma. Ou, pelo menos, não está levando em consideração os plugins e componentes de tema existentes.
Para renderizar o post nas Landing Pages, o seguinte código é aplicado e executado:
No arquivo html.erb:
::LandingPages::Post.html(@topic_view.posts.first).html_safe
que chama o seguinte código em 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 daqui, não tenho certeza do que está acontecendo. Suponho que post.cooked apenas retorne o texto do post já “cozido”, mas isso significa que ele já foi executado no carregamento da página…
Obrigado pela ajuda!