اكتشاف RSS feeder التلقائي قد يفوت خلاصات خاصة بمواضيع معينة

مرحباً آريا،

نعم - هذه بالفعل نتيجة لكيفية تعامل Discourse حاليًا مع خلاصات RSS الخاصة بالمواضيع، وليست خطأ في قارئ الخلاصات الخاص بك. السبب الجذري هو أن Discourse يضيف rel="nofollow" إلى العنصر <link> الخاص بخلاصات RSS للمواضيع/الفئات. تتجاهل العديد من قارئات الخلاصات الروابط التي تحتوي على nofollow، مما يمنع الاكتشاف التلقائي، على الرغم من أن الخلاصات نفسها صالحة وتعمل عند الوصول إليها مباشرة.

الحل العملي هو استخدام مكوّن سمة (Theme Component) لإضافة روابط خلاصات RSS خاصة بالمواضيع بدون nofollow. إليك مثال بسيط:

<!-- إضافة روابط خلاصات RSS خاصة بالمواضيع بدون nofollow -->
<script type="text/discourse-plugin" version="0.8">
  api.onPageChange((url, title) => {
    document.querySelectorAll('link.custom-rss').forEach(e => e.remove());
    document.querySelectorAll('link[title^="RSS feed of"]').forEach(link => {
      const newLink = document.createElement('link');
      newLink.rel = "alternate";
      newLink.type = "application/rss+xml";
      newLink.href = link.href;
      newLink.title = link.title;
      newLink.classList.add('custom-rss');
      document.head.appendChild(newLink);
    });
  });
</script>

يقوم هذا بفحص جميع روابط خلاصات RSS الخاصة بالمواضيع/الفئات وحقن عناصر <link> جديدة بدون nofollow في <head>.

يجب أن يكتشف قارئ الخلاصات الآن الخلاصات الخاصة بالمواضيع تلقائيًا.

بدلاً من ذلك، للحصول على نهج أبسط، يمكنك ببساطة مشاركة عنوان URL الخاص بالخلاصة مباشرة مع المستخدمين، على سبيل المثال Cascade - NLnet Labs Community.

تتجنب هذه الطريقة تعديل جوهر Discourse وتعمل عبر التحديثات. نأمل أن يساعد هذا في عمل الاكتشاف التلقائي للخلاصات كما هو متوقع!

مع خالص تحياتي!

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