- Reads file containing feed URLs on each line
- Has a
feedstoredirectory it places data into - feedstore is structured
{{feed}}.json- file, metadata about the feed, name consistently generated from URL{{feed}}- folder, name consistently generated from URL{{guid}}.json- file, one per item, JSON format, contains item details (optionally.json.gz)
- Basic operation is
0. Feed URL is scraped
- Datastore has folder created for this feed (if not already there)
- New file created per feed item, named after item guid (filesystem safe?)
- Feed item files are JSON
- title
- link
- published at date
- updated at date
- actual guid (filename is consistently altered guid)
- description (body of item)
- Feed folder is touched at the end of handling it to timestamp last checked date
- Exposes [Fever API][] for readers to connect via
- Configured via JSON
- Given the datastore from Fetcher as datasource
- Watches filesystem for changes, updating in-memory map of posts/etc
- Reads in feeds from folders on disk, posts from files on disk
- As posts are marked read, stores state somewhere (sqlite? json formatted cache file?) - separate data to feedstore
- Multiple users handled somehow? Should probably be independant of feedstore, server controls who subscribes to what feeds, fetcher just fetches