こんにちは、Aryaさん
はい、これはフィードリーダーのバグではなく、Discourseがトピック固有のRSSフィードを処理する方法によるものです。根本的な原因は、Discourseがトピック/カテゴリのRSSフィードの<link>要素にrel="nofollow"を追加することです。多くのフィードリーダーはnofollow付きのリンクを無視するため、フィード自体は有効で直接アクセスすれば機能するにもかかわらず、自動検出が妨げられます。
実用的な回避策は、テーマコンポーネントを使用して、nofollowなしでトピック固有のRSSリンクを追加することです。以下に簡単な例を示します。
<!-- nofollowなしでトピック固有のRSSリンクを追加 -->
<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リンクをスキャンし、nofollowのない新しい<link>要素を<head>に挿入します。
これにより、フィードリーダーはトピック固有のフィードを自動的に検出できるようになるはずです。
別の方法として、より簡単なアプローチとして、フィードURL(例:https://community.nlnetlabs.nl/c/cascade/10.rss)をユーザーと直接共有することもできます。
この方法はDiscourseのコアを変更せずに済み、アップデートをまたいで機能します。これがフィードの自動検出が期待どおりに機能する助けになれば幸いです!
乾杯!