You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
phetch/README.md

111 lines
2.6 KiB
Markdown

5 years ago
# phetch
dirt simple terminal gopher client.
5 years ago
## features
5 years ago
4 years ago
- small (<1MB) executable for linux and macos
5 years ago
- technicolor design
5 years ago
- no nonsense keyboard navigation
5 years ago
## development
5 years ago
cargo run
5 years ago
## resources
4 years ago
- [rfc 1346](https://tools.ietf.org/html/rfc1436)
## gopher sites
- gopher.black
- sdf.org
- gopher.quux.org
- hngopher.com
4 years ago
- bitreich.org
## TODO
### Basics
4 years ago
- [x] fetch gopher URL
- [x] parse gopher URL
- [x] fetch site by hostname: $ phetch sdf.org
- [x] fetch site by URL: $ phetch gopher://hngopher.com/1/live/p1/
4 years ago
- [ ] TLS
4 years ago
- [x] phetch -h
- [x] phetch -v
4 years ago
### UI
4 years ago
- [x] render MENU
- [x] render TEXT
- [x] size content to terminal
4 years ago
- [ ] detect terminal resize
- [ ] status() helper
- [ ] show all errors in status()
### MENU Links
4 years ago
- [x] up/down navigate links
4 years ago
- [ ] up/down scroll when next link out of view
- [ ] page up/page down show next page, highlight first link
4 years ago
- [x] `ENTER` visits highlighted link
4 years ago
- [ ] open HTML link in browser
4 years ago
### TEXT Scrolling
- [x] up/down scroll by 1 line
- [x] page up/page down show next page
- [ ] stop DOWN at last page
- [ ] stop PGNDOWN at last page
4 years ago
### Keyboard Shortcuts
4 years ago
- [x] backspace/left arrow goes back in history
- [x] right arrow goes forward in history, if any
4 years ago
- [ ] `?` to show all keyboard shortcuts
- [ ] `c` copies current URL to clipboard https://git.io/Je7YL
- [ ] input field that... takes input
- [ ] search functiponalir
### Download binaries
- [ ] download to ~/Downloads
- [ ] ? download to pwd
- [ ] ? download to custom location
### Persistent History
- [ ] save history to file
- [ ] load history from file
- [ ] load most recent URL when opening without args
### Bonus
- [ ] play sound file in background
- [ ] center content
- [ ] render markdown-lite
- [ ] display HTML-lite
- [ ] pipe input to render as gopher
$ phetch gopher.antirez.com:70 | gg
- [ ] syntax highlight code
$ phetch code.some-gopher-site.io/gw/main.go
### Overview
4 years ago
- [x] keyboard shortcuts:
4 years ago
← back in history
→ forward in history
↑ scroll up
↓ scroll down
⏎ open link
- page up
space page down
t scroll to top
b scroll to bottom
4 years ago
g same as t
G same as b
4 years ago
- [ ] item types:
- [ ] 0 text file
- [ ] 1 submenu
- [ ] 2 ccso nameserver
- [ ] 3 error
- [ ] 4 binhex encoded file
- [ ] 5 DOS file
- [ ] 6 uuencoded file
- [ ] 7 gopher full-text search
- [ ] 8 telnet
- [ ] 9 binary file
- [ ] + mirror or alternate server
- [ ] g GIF
- [ ] i Image
- [ ] T telnet 3270
- [ ] h HTML file
- [ ] i Informational message
- [ ] s Sound file (WAV, mp3, etc)
- [ ] d Document