Nach dem Kochen Prozess mit Landing Pages

Hallo,

ich versuche herauszufinden, warum „post cooking" für das Landing Pages-Plugin nicht funktioniert und wie ich es (falls möglich) zum Laufen bringen kann, ohne das Plugin zu ändern. Falls ich es doch ändern müsste, was könnte ich tun? Ruby ist nicht gerade meine Stärke.

Auf meiner Discourse-Instanz habe ich sowohl die PDF-Preview-Komponente als auch das Discourse-Chart-Plugin installiert. Allerdings wird beim Rendern des Beitrags dieser überhaupt nicht „cooked" – oder zumindest werden bestehende Plugins und Theme-Komponenten nicht berücksichtigt.

Um den Beitrag in den Landing Pages darzustellen, wird der folgende Code angewendet und ausgeführt:

In der Datei html.erb:

::LandingPages::Post.html(@topic_view.posts.first).html_safe

Dies ruft den folgenden Code in discourse-landing-pages/lib/landing-pages/post.rb auf:

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

Von hier aus bin mir nicht sicher, was genau passiert. Ich vermute, dass post.cooked einfach den bereits verarbeiteten Beitragstext zurückgibt, was bedeutet, dass das „Cooking" bereits beim Laden der Seite ausgeführt wurde…

Vielen Dank für eure Hilfe!

1 „Gefällt mir“