From: Kyle Bowman Date: Sat, 11 Jan 2025 16:01:37 +0000 (-0500) Subject: rename nom.md to interface.md X-Git-Url: https://git.rocketbowman.com/?a=commitdiff_plain;h=5ec6941679dcde0db52b5dfd307838ed2122f5d8;p=nom.git rename nom.md to interface.md --- diff --git a/interface.md b/interface.md new file mode 100644 index 0000000..b0af9cb --- /dev/null +++ b/interface.md @@ -0,0 +1,114 @@ +# Nom + +## Usage + +Separate by things that act on `feed` and things that act on `entry`. + + Ex: `nom feed show` vs `nom entry show` + +1. Add feed (with name, url, category) to feed list. +2. Remove feed from feed list. +3. List (unread) entries from feed list. + +## Feed Actions + +### Show + +`nom feed show [filters]` + +### Add + +`nom feed add [--category [, --category ]] ` + +### Remove + +`nom feed remove ` + +### Fetch + +`nom feed update [url|filters]` + +## Entry Actions + +### Show + +`nom entry show [filters]` + +aliased as `nom show [filters]` + +### Mark Viewed + +`nom entry mark viewed` + +### Add (really cool future idea) + +`nom entry add [--category [...]] ` + +You could easily turn this into a read-later app by adding a URL +and inferring metadata from the HTML \ tags. + +Since each feed goes in its own file, all these could go into a +`read-later.xml` or similar. You probably want it to go in `.local/share` +rather than `.cache`. + +### Fetch / Read (cool future idea) + +Needs to pull CSS as well as HTML. Or, define your own styling... + +## Filters + +**Remember** Feed filters are not necessarily the same as entry filters. + +**Remember**, you can always `grep` as a way of filtering rows. +You can always `cut` as a way of filtering columns. + +Hmm... It would be cool to batch update using filters. For example, + +``` bash +nom entry show [filters] | xargs nom entry mark viewed +``` + +### Viewed / Not Viewed / Both + +Could do the following: + +* `--viewed=exclude` default, hides entries that have already been read. +* `--viewed=include` shows entries that have already been read. +* `--viewed=only` shows only entries that have been read, + excluding unread entries. + +### Entry Metadata + +* Title +* Category +* Feed +* Summary +* Date (Published | Updated) + +### Feed metadata + +* Name +* URL +* Category + +## File locations + +Aim to use freedesktop.org data dir specs. I could envision having different +"profiles" that each use a different feed list. + +### Feed Definitions + +Data: Name, URL, Category (Optional) +Location: `~/.config/nom/profiles/default` + +### Entry Status (Viewed | Not Viewed) + +Data: Key for each feed entry, Read/unread boolean. +Location: `~/.local/share/nom/view-status` + +### Cache of each Feed + +Data: The Atom | RSS feed itself. +Location: `~/.cache/nom/feeds/*.xml` + +The name of `*.xml` should probably relate to the canonical name of the feed. \ No newline at end of file diff --git a/nom.md b/nom.md deleted file mode 100644 index b0af9cb..0000000 --- a/nom.md +++ /dev/null @@ -1,114 +0,0 @@ -# Nom - -## Usage - -Separate by things that act on `feed` and things that act on `entry`. - - Ex: `nom feed show` vs `nom entry show` - -1. Add feed (with name, url, category) to feed list. -2. Remove feed from feed list. -3. List (unread) entries from feed list. - -## Feed Actions - -### Show - -`nom feed show [filters]` - -### Add - -`nom feed add [--category [, --category ]] ` - -### Remove - -`nom feed remove ` - -### Fetch - -`nom feed update [url|filters]` - -## Entry Actions - -### Show - -`nom entry show [filters]` - -aliased as `nom show [filters]` - -### Mark Viewed - -`nom entry mark viewed` - -### Add (really cool future idea) - -`nom entry add [--category [...]] ` - -You could easily turn this into a read-later app by adding a URL -and inferring metadata from the HTML \ tags. - -Since each feed goes in its own file, all these could go into a -`read-later.xml` or similar. You probably want it to go in `.local/share` -rather than `.cache`. - -### Fetch / Read (cool future idea) - -Needs to pull CSS as well as HTML. Or, define your own styling... - -## Filters - -**Remember** Feed filters are not necessarily the same as entry filters. - -**Remember**, you can always `grep` as a way of filtering rows. -You can always `cut` as a way of filtering columns. - -Hmm... It would be cool to batch update using filters. For example, - -``` bash -nom entry show [filters] | xargs nom entry mark viewed -``` - -### Viewed / Not Viewed / Both - -Could do the following: - -* `--viewed=exclude` default, hides entries that have already been read. -* `--viewed=include` shows entries that have already been read. -* `--viewed=only` shows only entries that have been read, - excluding unread entries. - -### Entry Metadata - -* Title -* Category -* Feed -* Summary -* Date (Published | Updated) - -### Feed metadata - -* Name -* URL -* Category - -## File locations - -Aim to use freedesktop.org data dir specs. I could envision having different -"profiles" that each use a different feed list. - -### Feed Definitions - -Data: Name, URL, Category (Optional) -Location: `~/.config/nom/profiles/default` - -### Entry Status (Viewed | Not Viewed) - -Data: Key for each feed entry, Read/unread boolean. -Location: `~/.local/share/nom/view-status` - -### Cache of each Feed - -Data: The Atom | RSS feed itself. -Location: `~/.cache/nom/feeds/*.xml` - -The name of `*.xml` should probably relate to the canonical name of the feed. \ No newline at end of file