عملية ما بعد الطهي مع صفحات الهبوط

مرحبًا،

أحاول فهم سبب عدم عمل “طهي” المنشورات (post cooking) في إضافة صفحات الهبوط (Landing Pages)، وكيف يمكنني جعلها تعمل (إذا كان ذلك ممكنًا) دون تعديل الإضافة، ولكن إذا اضطررت إلى ذلك، فماذا يمكنني أن أفعل؟ البرمجة بلغة Ruby ليست من نقاط قوتي.

في مثيل Discourse الخاص بي، قمت بتثبيت مكون معاينة PDF بالإضافة إلى إضافة Discourse-Chart. ومع ذلك، عند عرض المنشور، لم يتم “طهيه” على الإطلاق. أو على الأقل، لم يأخذ في الاعتبار الإضافات ومكونات السمات الموجودة.

لعرض المنشور في صفحات الهبوط، يتم تطبيق الكود التالي وتنفيذه.

في ملف html.erb:

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

الذي يستدعي الكود التالي في 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

من هنا، لست متأكدًا مما يحدث. أفترض أن post.cooked يعيد فقط نص المنشور المطهو، لكن هذا يعني أنه تم تنفيذه بالفعل عند تحميل الصفحة…

شكرًا لمساعدتكم!

إعجاب واحد (1)