Giter Club home page Giter Club logo

rsspresso's Introduction


rssPresso app icon

rssPresso - The RSS reader with coffee

A minimal, cross-platform news aggregator written in Flutter. Available on Android, Windows and Linux.

Table of Contents

  1. What is rssPresso?
  2. Downloads
  3. Contributing
  4. Roadmap
  5. Packages used
  6. Credits
  7. License

What is rssPresso?

rssPresso is a minimal, cross-platform news aggregator written in Flutter.

Import your favorite RSS/Atom feeds and start reading ahead. Load the full content of an article with a click of a button, or open it externally. You can star your article for later - and, when you're ready, simply filter your feed by saved or unread articles. Easily search your feeds to find what you want. Switch between different UI layouts to suit your needs.

Enjoy a modern Material design with a light & dark theme. Free and open source - for your freedom.

Screenshots

Mobile screenshots Desktop screenshot light article Desktop screenshot dark article

Downloads

  • Currently supported platforms: Android, Windows, Linux
  • Planned: macOS (Unfortunately I do not currently own a macOS device; to build and test rssPresso, a macOS device is needed)

Android

Download and install the rssPresso-Android.apk file from the GitHub releases page.

Windows

Download and execute the rssPresso-Windows.exe file from the GitHub releases page.

Linux

Supported Planned
AppImage Flatpak (Flathub)
.deb .rpm
Snap
AUR

To install rssPresso as an AppImage, download the rssPresso-Linux.AppImage file from the GitHub releases page, make it executable and run it. For better desktop integration consider using AppImageLauncher.

Download as an AppImage


To install rssPresso as a .deb package, download the rssPresso-Linux.deb file from the GitHub releases page and install it.

Features

  • Import & export your feeds via OPML files
  • Load the full content of an article
  • Star articles & mark articles as read/unread
  • Search for articles
  • Filter feeds by unread or saved articles
  • Material design with a light & dark theme
  • Switch between different UI layouts
  • Free and open source (GPLv3)
  • ...and many more features planned

Contributing

These are the ways you can contribute to rssPresso:

Bug reports & feature requests

Open an issue on GitHub: Open issue. Remember to check for duplicates and try to give important information such as the app version, your operating system, etc.

Code

Feel free to send in a pull request! To get started with Flutter, follow this link: https://docs.flutter.dev/get-started/install

  1. Clone this repository
  2. Switch to the project's directory and run flutter pub get to get all necessary packages. To test the app, run the project in debug mode by selecting a device in your preferred Flutter IDE and running the app in debug mode
  3. Build rssPresso (see steps for the different platforms below)

Windows executable: Run the following command in your terminal on a Windows machine: flutter build windows โ€“ the output file will be generated at rsspresso\build\windows\runner\Release\rsspresso.exe.

Linux executable: Run the following command in your terminal: flutter build linux โ€“ the output files, including the executable, will be generated at rsspresso/build/linux/x64/release/bundle.

Roadmap

  • Upload on F-Droid [Android]
  • Upload on Flathub [Linux]
  • Organize feeds into custom groups
  • Sync with RSS services like the Fever API, Google Reader API, Nextcloud News, Feedbin, Inoreader, etc.
  • Integrate YouTube subscriptions
  • Background article fetching
  • Desktop keyboard shortcuts
  • Push notifications for desktop & mobile
  • Multi language support
  • Your features

Packages used

The packages used for this app, also listed in the pubspec.yaml file. See their respective licenses.

Package Use case
cached_network_image Cache images from the network
content_parser Load full article content
dart_rss Parse RSS/Atom xml data
file_picker Import/export OPML files
flutter_file_dialog Export OPML files on Android
flutter_markdown Display Markdown data
flutter_riverpod State management
html Parse HTML data
html2md Convert HTML to Markdown
http Request website data
intl Parse dates
package_info_plus Display app version number
path Path transformations
path_provider Load platform specific paths
permission_handler Show Android permission dialog
shared_preferences Save/load app data
url_launcher Open URLs in Browser
window_manager Desktop window operations
xml Parse xml data

Credits

This project was greatly inspired by other RSS readers. Without these projects, rssPresso wouldn't have looked the same as now.

Extracting content: content_parser

To extract the full content of an article, content_parser is used. This is an incomplete port from the JavaScript library Postlight Parser to Dart. Postlight Parser itself is licensed under the MIT License (see here).

License

This project is licensed under the GNU General Public License Version 3. For details, see LICENSE.

rsspresso's People

Contributors

iakmds avatar

Stargazers

 avatar  avatar

Watchers

 avatar

rsspresso's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.