1
0
Fork 0
mirror of https://codeberg.org/Reuh/feather.git synced 2025-10-27 10:09:32 +00:00
File-based RSS reader client for TT-RSS/FreshRSS/Miniflux/...
Find a file
2025-10-10 13:28:45 +02:00
.gitignore Initial commit 2025-10-09 13:50:18 +02:00
.python-version Initial commit 2025-10-09 13:50:18 +02:00
config.default.toml feat: set mtime and atime for generated files 2025-10-09 21:42:41 +02:00
Dockerfile fix: missing dependency in docker container & unbuffered output 2025-10-09 18:43:37 +02:00
google_reader.py docs: add license to google-reader 2025-10-09 13:55:50 +02:00
LICENSE docs: add LICENSE 2025-10-09 16:55:35 +02:00
main.py feat: set mtime and atime for generated files 2025-10-09 21:42:41 +02:00
pyproject.toml feat: use jinja templates for HTML & filenames 2025-10-09 15:30:19 +02:00
README.md docs: update README 2025-10-10 13:28:45 +02:00
uv.lock feat: use jinja templates for HTML & filenames 2025-10-09 15:30:19 +02:00

Feather: file-based RSS reader client

Usage

start with pictures/gif each time

Navigating feeds

Directories, sorting/searching by date/title (a.k.a. using a file manager)

Reading an item

opening an item

Marking items as read

Delete

See read items in the trash can

Updating with the server

Call feather sync to synchronize all local data with the server (read items, new items from the server, etc.).

feather daemon

Configuration

After changing the configuration, you can call feather regenerate to regenerate all local files with the new configuration (to reflect the changes in the HTML template, filenames, etc.).

feather clear-data

Theoretical use-cases

Processing with scripts

Syncthing

Installation

Docker

podman run -d -v ./config.toml:/feather/config.toml -v feather-data:/feather/data -v ./reader:/feather/reader --name feather feather daemon

Raw

You need Python 3.12 or newer. Then pip it up.

FAQ

Why

Name

What should I eat tonight

TODO

  • Write documentation
  • Perform mark-as-read operation more often than sync (inotify, daemon, etc.)
    • inotify might still be nice for instant reactions
  • Make HTML filename configurable
  • Make HTML template configurable
  • Nested categories: ttrss-python?
  • Share the fun somewhere
  • Edge cases: mark as read during sync (if marked as read on server or not)
  • Proper filename escaping
  • Command to force regenerate all HTML files (incl. recompute datetimes & paths)
  • Handle item updates
  • Actually think about the issues created by the duplicate warning
  • Set generated files creation/modification date instead of putting date in filename
  • Make a proper Python package