Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lwindolf/newsagain
WIP prototype for a backend-less PWA feed reader replacing Liferea
https://github.com/lwindolf/newsagain
android atom feed-reader pwa rss
Last synced: about 1 month ago
JSON representation
WIP prototype for a backend-less PWA feed reader replacing Liferea
- Host: GitHub
- URL: https://github.com/lwindolf/newsagain
- Owner: lwindolf
- License: unlicense
- Created: 2023-09-16T18:56:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-22T10:33:00.000Z (7 months ago)
- Last Synced: 2024-06-22T19:36:24.854Z (7 months ago)
- Topics: android, atom, feed-reader, pwa, rss
- Language: JavaScript
- Homepage:
- Size: 1.3 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![CI](https://github.com/lwindolf/newsagain/actions/workflows/test.yml/badge.svg)](https://github.com/lwindolf/newsagain/actions/workflows/test.yml)
# NewsAgain
![NewsAgain Icon](icons/web/icon-192.png)
WIP prototype for a backend-less PWA feed reader replacing [Liferea](https://lzone.de/liferea)
Can be used as an
- Electron app
- Android appWhile NewsAgain is technically a PWA as a feed reader it cannot be run in
a normal browser as most websites do deliver feeds without permissive CORS
headers causing a PWA to be unable to download them due to security errors.
Electron/Android apps do not have this limitation.## Compile
npm install
npm test
npm run build
npm run build -- --releaseNote that aside from all the NPM dependencies if you want to compile for Android you need:
- Android SDK with runtime v33.0.2 installed
- env variable set for Android SDK e.g. `export ANDROID_HOME=~/Android/Sdk`
- gradle 4.4.x## How to run
Run Electron app
npm start electron # Run Electron app
npm start electron --nobuild # Run without rebuild (much faster)Run Android app on mobile in developer mode
npm start android --device
Run Android app in virtual device in Android Studio
cordova emulate android
Simple Cordova browser debug environment
npm start browser
## Feature-Completeness
As NewsAgain will be a successor to Liferea it needs to roughly match the most important
features and provide a desktop migration path. Here is the status of the features. Note that
a 🛑 means the feature won't be ported.### Parsing
- [x] Atom 1.0 / RSS 1.0, 1.1 and 2.0
- [x] Dublin Core RSS namespace support
- [x] media namespace support
- [x] Favicon discovery
- [x] Feed auto discovery
- 🛑 RSS 0.9x support
- 🛑 Atom 0.3 support### Web Scraping
- [ ] HTML5 extraction
- [ ] AMP extraction
- 🛑 Local script support### Network
- [ ] TTL Support
- [ ] Etags/last-modified
- [ ] RSS Syn Namespace
- [ ] User defined update intervals
- [ ] HTTP 429
- [ ] HTTP 410
- [ ] Basic Auth
- [ ] Secret Management
- 🛑 Proxy Support### Online Source Support
- [ ] Google Reader API (Miniflux, FreshRSS, ...)
- [ ] TinyTinyRSS
- [ ] InoReader
- [ ] TheOldReader
- [ ] Reedah
- [ ] OPML Import
- 🛑 local OPML sources### UI Navigation
- [x] Feed list
- [ ] Hierarchic feed list folders
- [ ] Search folders
- [x] Item list
- [x] Item view
- [x] Desktop mouse selectionchuba
- [x] Middle click behaviour
- [x] Launching external browser
- [ ] Launching internal browser
- [ ] Drag&Drop
- [ ] Keyboard navigation
- [ ] XDG Integration (URI schema, desktop icon)### UI Layouts
- [x] 3 pane view (wide)
- [x] 1 pane view (mobile)
- [x] Automatic switching
- [ ] Reader Mode
- [ ] Dark Mode
- [ ] Custom Theme overrides
- 🛑 3 pane view (email like)### UI Tools
- [x] Simple Subscription Dialog
- [ ] Advanced Subscription Dialog
- [ ] Update Monitor
- [ ] Plugins Support (JS instead of Python)
- 🛑 Tray Icon## Icon
Simple icon done by icon.kitchen:
https://icon.kitchen/i/H4sIAAAAAAAAAz1QwU7DMAz9FWSuQ2o3qdp6Q4hxQ0jshji4jZNGpPVI045p2r9jp9p88nt%2Btp99gRnDRCPUFzAYfw4d9QR1ihOtwLrD%2BSgIEv0lyFiTGt7pNApubnUX0XgaVNO4txuQkS0HjqUoHmlXUrURQabWSlVUlOtKKBxckDGb4qr9nx3moePv5GMrBV38ol3aZHNk7tVaapNYBwo0Y1qUH2iMH5xuT3yE%2BqlcQfSuEz%2BaNpwS90seyGZW1lq358Wyxd6Hsx7JMz7sA%2BarOJjlK2oRjVODzw79oEXFd4NFsau2WxBdz2YK%2BtovudBE9kbEnvVzJ2rg%2B%2FoPV1m%2FVH0BAAA%3D