Update todo list
This commit is contained in:
parent
2acd6f397f
commit
c08458a5cb
93
README.md
93
README.md
@ -4,65 +4,6 @@ Intake is an arbitrary feed aggregator that generalizes the concept of a feed.
|
|||||||
Rather than being restricted to parsing items out of an RSS feed, Intake provides a middle layer of executing arbitrary commands that conform to a JSON-based specification.
|
Rather than being restricted to parsing items out of an RSS feed, Intake provides a middle layer of executing arbitrary commands that conform to a JSON-based specification.
|
||||||
An Intake source can parse an RSS feed, but it can also scrape a website without a feed, provide additional logic to filter or annotate feed items, or integrate with an API.
|
An Intake source can parse an RSS feed, but it can also scrape a website without a feed, provide additional logic to filter or annotate feed items, or integrate with an API.
|
||||||
|
|
||||||
## Development
|
|
||||||
|
|
||||||
Parity with existing Python version
|
|
||||||
|
|
||||||
* [x] create sources
|
|
||||||
* [ ] rename sources
|
|
||||||
* fetch sources
|
|
||||||
* [x] create and delete items
|
|
||||||
* [x] update existing items
|
|
||||||
* [x] support item TTL and TTD
|
|
||||||
* [x] on_create triggers
|
|
||||||
* [ ] on_delete triggers
|
|
||||||
* [x] dry-run
|
|
||||||
* item actions
|
|
||||||
* [x] create
|
|
||||||
* [x] edit
|
|
||||||
* [ ] rename
|
|
||||||
* [x] delete
|
|
||||||
* [x] execute
|
|
||||||
* [x] require items to declare action support
|
|
||||||
* [x] state files
|
|
||||||
* [x] source environment
|
|
||||||
* [ ] working directory set
|
|
||||||
* [x] update web UI credentials
|
|
||||||
* [ ] automatic crontab integration
|
|
||||||
* [ ] feed supports item TTS
|
|
||||||
* [x] data directory from envvars
|
|
||||||
* [ ] source-level tt{s,d,l}
|
|
||||||
* [ ] source batching
|
|
||||||
* channels
|
|
||||||
* [x] create
|
|
||||||
* [x] edit
|
|
||||||
* [ ] rename
|
|
||||||
* [x] delete
|
|
||||||
* feeds
|
|
||||||
* [x] show items
|
|
||||||
* [x] deactivate items
|
|
||||||
* [x] mass deactivate
|
|
||||||
* [ ] punt
|
|
||||||
* [x] trigger actions
|
|
||||||
* [x] add ad-hoc items
|
|
||||||
* [x] show/hide deactivated items
|
|
||||||
* [ ] show/hide tts items
|
|
||||||
* [x] sort by time ?? created
|
|
||||||
* [ ] paging
|
|
||||||
* [ ] NixOS module
|
|
||||||
* [ ] NixOS module demo
|
|
||||||
|
|
||||||
Additional features
|
|
||||||
|
|
||||||
* [ ] metric reporting
|
|
||||||
* [ ] on action failure, create an error item with logs
|
|
||||||
* [x] first-party password handling instead of basic auth and htpasswd
|
|
||||||
* [ ] items gracefully add new fields and `action` keys
|
|
||||||
* [ ] arbitrary date punt
|
|
||||||
* [ ] HTTP edit item
|
|
||||||
* [ ] sort crontab entries
|
|
||||||
* [ ] TUI feed view
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
In Intake, a _source_ represents a single content feed of discrete _items_, such as a blog and its posts or a website and its pages.
|
In Intake, a _source_ represents a single content feed of discrete _items_, such as a blog and its posts or a website and its pages.
|
||||||
@ -145,12 +86,38 @@ The item does not need to declare support for `on_create`.
|
|||||||
This action is not accessible through the web interface, so if you need to retry the action, you should create another action with the same command as `on_create`.
|
This action is not accessible through the web interface, so if you need to retry the action, you should create another action with the same command as `on_create`.
|
||||||
If an item's `on_create` fails, the item is still created, but without any changes made by action.
|
If an item's `on_create` fails, the item is still created, but without any changes made by action.
|
||||||
|
|
||||||
The special action `on_delete` is like `on_create`, except it runs right before an item is deleted.
|
|
||||||
It does not require explicit support and is not accessible in the web interface.
|
|
||||||
The output of `on_delete` is ignored; it is primarily for causing side effects like managing state.
|
|
||||||
|
|
||||||
### Web interface
|
### Web interface
|
||||||
|
|
||||||
The `intake serve` command runs an HTTP server that gives access to the feed.
|
The `intake serve` command runs an HTTP server that gives access to the feed.
|
||||||
While the CLI can rely on normal filesystem access control to secure the database, this does not apply to HTTP.
|
While the CLI can rely on normal filesystem access control to secure the database, this does not apply to HTTP.
|
||||||
Instead, the web interface can be locked behind a password set via `intake passwd`.
|
Instead, the web interface can be locked behind a password set via `intake passwd`.
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
Parity features
|
||||||
|
|
||||||
|
* [ ] web feed supports item TTS
|
||||||
|
* [ ] item punt
|
||||||
|
* [ ] web feed paging
|
||||||
|
* [ ] web fetch
|
||||||
|
* [ ] set a working directory for item actions
|
||||||
|
* [ ] crontab integration
|
||||||
|
* [ ] source batching
|
||||||
|
* [ ] add item from web
|
||||||
|
* [ ] Nix build
|
||||||
|
* [ ] NixOS module
|
||||||
|
* [ ] NixOS vm demo
|
||||||
|
* [ ] Nix flake templates
|
||||||
|
|
||||||
|
Future features
|
||||||
|
|
||||||
|
* [ ] on_delete triggers
|
||||||
|
* [ ] manual item edits, CLI
|
||||||
|
* [ ] manual item edits, web
|
||||||
|
* [ ] source-level TTS
|
||||||
|
* [ ] metric reporting
|
||||||
|
* [ ] on action failure, create an error item with logs
|
||||||
|
* [ ] items gracefully add new fields and `action` keys
|
||||||
|
* [ ] arbitrary date punt
|
||||||
|
* [ ] sort crontab entries
|
||||||
|
* [ ] TUI feed view
|
||||||
|
Loading…
Reference in New Issue
Block a user