Автообнаружение RSS-фидеров может пропустить фиды, специфичные для темы

Привет, Арья,

Да, это действительно связано с тем, как Discourse обрабатывает RSS-каналы для конкретных тем, а не с ошибкой в вашем RSS-ридере. Корень проблемы в том, что Discourse добавляет атрибут rel="nofollow" к элементу <link> для RSS-каналов тем/категорий. Многие RSS-ридеры игнорируют ссылки с nofollow, что предотвращает автоматическое обнаружение, хотя сам канал валиден и работает при прямом доступе.

Практическое решение — использовать компонент темы, чтобы добавить 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>.

Теперь RSS-ридеры должны автоматически обнаруживать каналы для конкретных тем.

Альтернативный, более простой подход — просто делиться URL канала напрямую с пользователями, например: Cascade - NLnet Labs Community.

Этот метод не требует изменения ядра Discourse и работает при обновлениях. Надеемся, это поможет автоматическому обнаружению каналов работать как ожидалось!

С уважением!

1 лайк