RSS learning project module 3: Feed Configuration
Module 3: Feed Configuration#
Overview This module covers the setup and optimisation of FreshRSS feeds, focusing on creating a clean, distraction-free reading experience. We’ll explore the realities of RSS feed configuration, including the limitations of content extraction and potential alternative solutions.
Learning Objectives
- Understanding RSS feed structure and management
- Learning about content extraction challenges
- Implementing CSS selectors for content parsing
- Setting up social media integration
- Optimising the reading experience
Prerequisites
- Completed Module 0 (Project Initialisation)
- Completed Module 1 (Environment Setup)
- Completed Module 2 (FreshRSS Deployment)
- Working FreshRSS installation accessible via browser
Adding News Sources Begin by accessing your FreshRSS installation through the browser and navigating to the subscription management page:
# RSS feed URLs for major news sources
Reuters: https://www.reuters.com/rssfeed
AP News: https://www.ap.org/rss
EuroNews: https://www.euronews.com/rss
Al Jazeera: https://www.aljazeera.com/xml/rss/all.xml
TechCrunch: https://techcrunch.com/feed
Forbes: https://www.forbes.com/real-time/feed2
The above are AI generated examples and they might not work. Some personal research will be required
For each source:
- Select ‘New Subscription’
- Paste the RSS feed URL
- Choose appropriate category
- Set refresh interval (typically 1 hour for news)
Content Extraction Realities It’s important to note that full article extraction from major news sources can be challenging in FreshRSS. Several factors contribute to this:
- Publishers often provide truncated RSS feeds
- Website structures frequently change
- Paywalls and authentication requirements
- Dynamic content loading
Alternative solutions to consider:
- Tiny Tiny RSS (TTRSS) with full-text plugins
- FiveFilters Full-Text RSS service
- Miniflux
- Self-hosted feed parsing services
CSS Selector Implementation To extract content where possible, configure CSS selectors:
- Navigate to FreshRSS subscription settings
- Access the feed’s configuration
- Add relevant CSS selectors:
/* Example selectors - adjust based on source */
.article-content
.main-story-content
.story-body__inner
.article__body
Note: CSS selectors need regular maintenance as news sites update their layouts.
Social Media Integration FreshRSS supports various social media platforms through specific RSS bridges:
# Install RSS Bridge extension
cd freshrss/extensions
git clone https://github.com/RSS-Bridge/rss-bridge.git
Configure bridges for:
- Twitter (now X) using Nitter RSS feeds
- YouTube channel RSS feeds (format: https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID)
- Reddit subreddit feeds (append .rss to subreddit URL)
Reading Experience Optimisation Configure reading settings:
- Enable dark mode for reduced eye strain
- Set comfortable font size and line spacing
- Configure swipe gestures for mobile reading
- Enable keyboard shortcuts for efficient navigation
- Set up reading view preferences:
- Article width
- Image handling
- Link behaviour
Success Criteria
- News sources successfully added
- Content extraction working where possible
- Clean, distraction-free reading experience
- Social media feeds integrated
- Understanding of system limitations
Common Issues and Solutions
- Limited content extraction: Consider alternative RSS readers
- Feed parsing errors: Verify URL format
- Social media integration failures: Verify bridge configuration
- Performance issues: Adjust refresh intervals
Next Steps After completing this module:
- Test all configured feeds
- Document which sources provide full content
- Research alternative solutions for problematic feeds
- Check mobile reading experience
- Prepare for Module 4: Security Implementation
Additional Resources
- TTRSS documentation
- FiveFilters services
- CSS selector guides
- Feed validation tools
Notes
- Regular maintenance of CSS selectors required
- Consider multiple RSS solutions for different sources
- Document working configurations
- Keep track of which methods work best for specific sources