Expand description
ยงFeedo ๐
A stunning terminal RSS reader built with Rust.
ยงOverview
Feedo is a modern, fast, and beautiful terminal-based RSS/Atom feed reader. It provides a three-panel interface inspired by desktop readers like Reeder, but designed for the command line.
ยงArchitecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ App โ
โ Orchestrates all components and runs the main event loop โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโ
โผ โผ โผ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Config โ โ FeedManager โ โ UI โ
โ โ โ โ โ โ
โ โข Load/Save โ โ โข Fetch feeds โ โ โข Render panels โ
โ โข Folders โ โ โข Parse RSS โ โ โข Handle input โ
โ โข Theme โ โ โข Track state โ โ โข Search โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโ
โ OPML โ
โ โ
โ โข Import feeds โ
โ โข Export feeds โ
โโโโโโโโโโโโโโโโโโโยงModules
appโ Main application state and event loopconfigโ Configuration management and persistencefeedโ Feed fetching, parsing, and state managementopmlโ OPML import/export for feed migrationsyncโ Sync withFreshRSS,Minifluxvia Google Reader APIthemeโ UI theming with 15 popular color schemesuiโ Terminal UI rendering and input handling
ยงExample
use feedo::App;
#[tokio::main]
async fn main() -> color_eyre::Result<()> {
let mut app = App::new().await?;
app.run().await
}ยงFeatures
- Beautiful TUI โ Clean three-panel interface with ratatui
- Folder Organization โ Group feeds with custom emoji icons
- Instant Search โ Find articles across all feeds
- 15 Themes โ Dracula, Nord, Catppuccin, Gruvbox, Tokyo Night, and more
- OPML Support โ Import/export for easy migration
- Social Sharing โ Share articles to X, Mastodon, and Bluesky
- Async โ Non-blocking feed fetching with Tokio
- Cross-Platform โ Works on Linux, macOS, and Windows
Re-exportsยง
pub use app::App;pub use config::Config;pub use error_report::REPO_URL;pub use error_report::VERSION;pub use error_report::create_issue_url;pub use error_report::open_issue;pub use feed::CacheStats;pub use feed::CachedFeed;pub use feed::CachedItem;pub use feed::DiscoveredFeed;pub use feed::Feed;pub use feed::FeedCache;pub use feed::FeedDiscovery;pub use feed::FeedItem;pub use feed::FeedManager;pub use feed::FeedType;pub use sync::GReaderClient;pub use sync::SyncConfig;pub use sync::SyncManager;pub use sync::SyncProvider;pub use sync::SyncResult;pub use theme::Theme;pub use theme::ThemeName;pub use theme::ThemePalette;pub use update::PackageManager;pub use update::VersionCheck;pub use update::check_for_updates;pub use update::check_for_updates_timeout;pub use update::detect_package_manager;pub use update::run_update;
Modulesยง
- app
- Main application module.
- config
- Configuration management.
- credentials
- Secure credential storage using AES-256-GCM encryption.
- error_
report - Error reporting utilities.
- feed
- Feed management and fetching.
- opml
- OPML import and export.
- sync
- Sync support for external RSS services.
- theme
- Theme configuration and colors.
- ui
- Terminal UI components.
- update
- Update checking and self-update functionality.