commit d5c9176d27c09fdb6c634a6fc9698cd24108751b
parent b6e24d1896ef890a4bb2476cc1f9e59d8a7c4eb9
Author: Luke S <55237178+luke8086@users.noreply.github.com>
Date: Sat, 10 Sep 2022 17:38:55 +0200
Updates to README
Diffstat:
| M | README.md | | | 76 | ++++++++++++++++++++++++++++++---------------------------------------------- |
1 file changed, 30 insertions(+), 46 deletions(-)
diff --git a/README.md b/README.md
@@ -4,41 +4,45 @@ A Python script for browsing [Hacker News](https://news.ycombinator.com/)
comments with an interface emulating classical usenet and mail readers,
like slrn and mutt.
-<img src="screenshot.png" width="600" />
-
-## Dependencies
-
-- Python 3.9+ (no external libraries needed)
+It only requires Python 3.9 and doesn't need installation, you can run it with `./retronews.py`
-## Usage
+For rationale, see the corresponding [blog post](https://luke8086.neocities.org/retronews.html)
-```bash
-# Basic
-$ ./retronews.py
+<img src="screenshot.png" width="600" />
-# Custom
-$ ./retronews.py --db ~/.retronews.db --logfile ./tmp/debug.log
+## Default key bindings
-# More info
-$ ./retronews.py --help
+```
+ q Quit retronews
+ ? Show this help message
+ UP, DOWN Go up / down by one message / pager line
+ PG UP, PG DOWN Gp up / down by one page of messages / pager lines
+ p, n Go to previous / next message
+ N Go to next unread message
+ P Go to parent message
+ ; , Set mark, jump to mark & swap (valid within thread)
+ RETURN, SPACE Open selected message
+ x Close current message / thread
+ 1 - 5 Change group
+ R Refresh current page
+ < > Go to previous / next page
+ g Go to specific page
+ k j Scroll pager up / down by one line
+ s Star / unstar selected message
+ S Star / unstar current thread
+ r Toggle raw HTML mode
```
-## Rationale
-
-#### Why retronews was created?
-Hacker News is my favourite discussion board to follow, but I missed support
-for highlighting interesting threads and tracking new responses.
-Since the messages are mostly plain text, I also thought it'd be fun
-to read them like a usenet group.
+## Known issues and limitations
-My initial approach was to build a NNTP gateway for slrn,
-similar to [nntpit](https://github.com/taviso/nntpit), but
-it turned out not to be feasible.
-After some prolonged tinkering I concluded that a standalone app
-would be simpler and more elegant.
+- The script is read-only, there are no plans to support voting and posting
+- The message renderer has glitches, but I prefer to keep it simple than solve
+ every corner case
+- No config file is planned, since the code is in Python, it's simpler to
+ treat it as its own config and customize directly
-#### Why not a NNTP gateway?
+## Why not a NNTP gateway?
NNTP operates on a flat list of messages.
The client asks for message headers N to M, uses them to draw a tree, and then
@@ -50,26 +54,6 @@ The gateway would need to download all threads to display at once, and since the
underlying API can take several seconds per story, it'd be unacceptably slow.
It also wouldn't be possible to request threads from older pages or specified by id.
-#### Why not a web application?
-
-The traditional newsreader TUI has several limitations compared to a web app.
-It doesn't support opening multiple stories at once in separate
-tabs, it shows only one message at a time, it's not available on smartphones,
-and it requires additional steps to open a link.
-
-
-These limitations can be seen as a net benefit :wink:
-They force you to process the information at a slower pace, in
-a less compulsive and more focused way.
-
-## Known issues and limitations
-
-- The script is read-only, there are no plans to support voting and posting
-- The message renderer has glitches, but I prefer to keep it simple than solve
- every corner case
-- No config file is planned, since the code is in Python, it's simpler to
- treat it as its own config and customize directly
-
## Related projects
- [HN Search @ Algolia](https://hn.algolia.com/about) - The underlying API used to retrieve messages