ملخص:
أحاول إضافة بعض الأشياء إلى الملخص. اعتدت على تجاوز القالب، لكن لا يمكنني فعل ذلك الآن، لأسباب غير واضحة.
نظرًا لأن تجاوز القوالب سيء، فهناك بعض الأماكن في الملخص التي يتم استبدالها بـ digest_custom_html، لكنها تُدرج النص، لذا تحتاج هذه إلى إضافة .html_safe. واحد على الأقل في المكان الخاطئ (يحتوي على “أعلى” في الاسم، ولكنه في الواقع أسفل).
أعتقد أن لدي المهارات اللازمة لتقديم طلب سحب (PR) لهذا الأمر، إلا إذا كان، نظرًا لبساطته، قد يكون من الأسهل لشخص آخر القيام بذلك.
القصة الأطول والأكثر إيلامًا.
لقد فعلت ذلك هنا: GitHub - pfaffman/discourse-add-to-summary: Add text to summary before and after title ولكن يبدو أن ذلك قد توقف عن العمل.
أعتقد أن ما أريد القيام به، دون إجراء تغييرات على النواة، هو تجاوز قالب digest.html.erb. اعتدت أن أكون قادرًا على القيام بذلك عن طريق وضعه في app/views/user_notifications/digest.html.erb وسيتم معالجة هذا الملف بدلاً من الملف الموجود في النواة. لم يعد هذا يبدو أنه يعمل.
الآن، لدينا بعض digest_custom_html الرائعة مثل هذه:
سيلاحظ القارئ الذكي أن المواضيع الشائعة تبدأ حوالي السطر 78، قبل وقت طويل من السطر 277. لست متأكدًا من مقدار الوقت الذي أضعته في التفكير في أن شيئًا لم يحدث لأنني كنت أنظر في المكان الخطأ. لكنني أبتعد عن الموضوع.
لقد تمكنت من القيام بذلك في plugin.rb بعد after_initialize.
require_dependency "user_notifications"
module ::UserNotificationsHelperOverride
def digest_custom_html(position_key)
puts "doing improved the digest: #{position_key}"
if position_key == "below_popular_topics"
puts "doing the custom html for above_popular_topics"
# Custom HTML for the popular topics position
"<div>MY COOOOOOOL TEXT</div>"
else
puts "doing the super for #{position_key}"
super
end
end
end
وهو بالفعل يضيف نصًا إلى المكان الذي أتوقع أن يتم تغييره فيه في القالب!
للأسف، لا يتم التعامل معه كـ HTML، بل كنص. لذا. . . .
نظرت في جميع الإضافات ولم أجد أي أمثلة لأي شخص يستخدم هذا الكود.
هل سيكون طلب سحب مرحب به إذا قمت بتغيير الأسطر مثل
<%= digest_custom_html("below_popular_topics") %>
واستبدالها بـ
<%= digest_custom_html("below_popular_topics").html_safe %>
وأثناء قيامي بذلك، ربما أتأكد من أن أسماء position_keys أكثر تشابهًا مع موقعها؟