Processo de Cozimento Pós com Landing Pages

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!

1 curtida