summaryrefslogtreecommitdiffstats
path: root/network/gmi100/gmi100.1
diff options
context:
space:
mode:
Diffstat (limited to 'network/gmi100/gmi100.1')
-rw-r--r--network/gmi100/gmi100.185
1 files changed, 85 insertions, 0 deletions
diff --git a/network/gmi100/gmi100.1 b/network/gmi100/gmi100.1
new file mode 100644
index 0000000000..1b9f50c7b4
--- /dev/null
+++ b/network/gmi100/gmi100.1
@@ -0,0 +1,85 @@
+.TH GMI100 1 "03 June 2024"
+
+.SH NAME
+gmi100 \- Gemini CLI protocol client written in 100 lines of ANSI C.
+
+.SH SYNOPSIS
+.B gmi100
+[\fI\,PAGER\/\fR]
+.LP
+.B gmi100>
+[\fI\,ACTION\/\fR]
+
+.SH DESCRIPTION
+Other similar Gemini client projects written in few lines of code
+successfully shows how simple Gemini protocol is. This code is far from
+straight forward. But I had a different goal in mind.
+
+I tried to pack as much as possible in 100 lines of ANSI C. Initially I
+struggled to fit simple TLS connection in such small space but
+eventually I ended up with CLI client capable of efficient navigation
+between capsules of Gemini space.
+
+.SH ACTIONS
+.TP
+.BR "N"
+Number of link on current capsule
+.TP
+.BR "r"
+Refresh current capsule
+.TP
+.BR "u"
+Go "up" in URL directory path
+.TP
+.BR "b"
+Go back in browsing history
+.TP
+.BR "c"
+Print current capsule URI
+.TP
+.BR "q"
+Quit
+.TP
+.BR "?"
+Search \- geminispace.info/search is used by default
+.TP
+.BR "!"
+Shell command prefix \- run it on current capsule
+
+.SH USAGE EXAMPLES
+.TP 3
+\fB\,gmi100\/\fR \fI\,cat\/\fR
+Using "cat" as pager
+.TP 3
+\fB\,gmi100>\/\fR \fI\,geminiprotocol.net\/\fR
+On prompt: go to capsule
+.TP 3
+\fB\,gmi100>\/\fR \fI\,3\/\fR
+On prompt: go to link number 3 of current capsule
+.TP 3
+\fB\,gmi100>\/\fR \fI\,!nsxiv\/\fR
+On prompt: open file of current URL with nsxiv (image)
+
+.SH HISTORY
+After you run the program it will open or create history .gmi100 file.
+Then every page you visits that is not a redirection to other page and
+doesn't ask you for input will be appended at the end of history file.
+File is never cleaned up by program itself to make history persistent
+between sessions but that means cleaning up browsing history is your
+responsibility. But this also gives you an control over history file
+content. You can for example append some links that you want to visit
+in next session to have easier access to them just by running program
+and pressing "b" which will navigate to last link from history file.
+
+During browsing session typing "b" in program prompt for the first time
+will result in navigation to last link in history file. Then if you
+type "b" again it will open second to last link from history. But it
+will also append that link at the end. You can input "b" multiple times
+and it will always go back by one link in history and append it at then
+end of history file at the same time. Only if you decide to navigate to
+other page by typing URL or choosing link number you will break that
+cycle. Then history "pointer" will go back to the very bottom of the
+history file.
+
+.SH AUTHOR
+irek@gabr.pl