]> git.rocketbowman.com Git - nom.git/commitdiff
initialize issues branch
authorKyle Bowman <kylebowman14@gmail.com>
Fri, 10 Jan 2025 00:25:35 +0000 (19:25 -0500)
committerKyle Bowman <kylebowman14@gmail.com>
Fri, 10 Jan 2025 00:25:35 +0000 (19:25 -0500)
README.md [deleted file]
nom.md [new file with mode: 0644]

diff --git a/README.md b/README.md
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/nom.md b/nom.md
new file mode 100644 (file)
index 0000000..b0af9cb
--- /dev/null
+++ b/nom.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>[, --category <category>]]  <feed-url>`
+
+### Remove
+
+`nom feed remove <url>`
+
+### 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 <category>[...]] <url>`
+
+You could easily turn this into a read-later app by adding a URL 
+and inferring metadata from the HTML \<meta\> 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