Feedr - Terminal RSS Feed Reader 📰
Feedr is a feature-rich terminal-based RSS feed reader written in Rust. It provides a clean, intuitive TUI interface for managing and reading RSS feeds with elegant visuals and smooth keyboard navigation.
✨ Features
- Dashboard View: See the latest articles across all your feeds
- Feed Management: Subscribe to and organize multiple RSS feeds
- Rich Content Display: Beautiful formatting of articles with HTML-to-text conversion
- Smart Search: Quickly find content across all your feeds
- Browser Integration: Open articles in your default browser
🚀 Installation
Prerequisites
Using Cargo Install (Recommended)
cargo install feedr
Build from Source
git clone https://github.com/bahdotsh/feedr.git
cd feedr
cargo build --release
The binary will be available at target/release/feedr
.
🎮 Usage
Run the application:
feedr
Quick Start
- When you open Feedr for the first time, press
a
to add a feed
- Enter a valid RSS feed URL (e.g.,
https://news.ycombinator.com/rss
)
- Use arrow keys to navigate and
Enter
to view items
- Press
o
to open the current article in your browser
Keyboard Controls
General Navigation
Key |
Action |
Tab |
Cycle between views |
q |
Quit application |
r |
Refresh all feeds |
/ |
Search mode |
Dashboard View
Key |
Action |
f |
Go to feeds list |
a |
Add a new feed |
↑/↓ |
Navigate items |
Enter |
View selected item |
o |
Open link in browser |
Feed List View
Key |
Action |
h / Esc |
Go to dashboard |
a |
Add a new feed |
d |
Delete selected feed |
↑/↓ |
Navigate feeds |
Enter |
View feed items |
Feed Items View
Key |
Action |
h / Esc |
Back to feeds list |
Home |
Go to dashboard |
↑/↓ |
Navigate items |
Enter |
View item details |
o |
Open item in browser |
Item Detail View
Key |
Action |
h / Esc |
Back to feed items |
Home |
Go to dashboard |
o |
Open item in browser |
🧩 Dependencies
📜 License
MIT
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
)
- Commit your changes (
git commit -m 'Add some amazing feature'
)
- Push to the branch (
git push origin feature/amazing-feature
)
- Open a Pull Request