You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.5 KiB
85 lines
2.5 KiB
.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
|