Add Makefiles

This commit is contained in:
Case Duckworth 2020-05-26 19:31:06 -05:00
parent e7d7619145
commit 4a1bcfd6d9
3 changed files with 165 additions and 5 deletions

View File

@ -4,16 +4,18 @@
PREFIX ?= /usr
PRGN := bollux
.PHONY: def install uninstall
def:
@echo "run 'make install' to install"
@echo "run 'make uninstall' to uninstall"
install: $(PRGN)
install -D $< $(DESTDIR)$(PREFIX)/bin
install:
install -Dt $(DESTDIR)$(PREFIX)/bin/ bollux
install -Dt $(DESTDIR)$(PREFIX)/share/man/man1/ bollux.1
install -Dt $(DESTDIR)$(PREFIX)/share/man/man5/ bollux.conf.5
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/$(PRGN)
rm -f $(DESTDIR)$(PREFIX)/bin/bollux
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/bollux.1
rm -f $(DESTDIR)$(PREFIX)/share/man/man5/bollux.conf.5

69
bollux.1 Normal file
View File

@ -0,0 +1,69 @@
.TH bollux 1 2020-05-26
.SH NAME
bollux \- gemini protocol browser written in bash(1)
.SH SYNOPSIS
.B bollux
.RI [ \-h ]
.TP
.B bollux
.RI [ \-q ]
.RI [ \-v ]
.RI [ \-c
.BR CONFIG ]
.RB [ URL ]
.SH DESCRIPTION
.BR bollux (1)
is a browser for the new Gemini protocol, which aims to be
"heavier than gopher, but lighter than the web."
It can follow links, collect user input, download files, and display text/* mimetype pages in geminispace.
.SH OPTIONS
.TP
.B \-h
Display an inline help screen and exit
.TP
.B \-q
Be quiet: don't show any messages, even fatal ones
.TP
.B \-v
Be verbose: show all messages, even debug ones
.TP
.B \-c CONFIG
Use CONFIG file to configure
.BR bollux (1)
instead of the default: $XDG_CONFIG_HOME/bollux/bollux.conf.
.TP
.B URL
The gemini URL to navigate to
.SH USAGE
If
.BR bollux (1)
is invoked with a URL, it will download or display that URL.
Otherwise, the user will be prompted for a URL to download or display.
If the URL points to a text/* document, it is paged with
.BR less (1)
with custom keybinds:
.TP
.B o
open a link on the current page
.TP
.B g
goto a new URL
.TP
.B r
refresh the current page
.TP
.B q
quit bollux
.PP
If a new URL is selected,
.BR bollux (1)
will repeat the download-and-display loop with the new URL.
.SH ISSUES
There is currently no history storage or recall.
.BR bollux (1)
can get confused on some URLs \-\- munging them correctly is an area of active research.
.SH SEE ALSO
.BR bollux.conf (5)
.SH BUGS
The development repo is located at https://sr.ht/~acdw/bollux.
Please direct all bug reports, patches, or general complaints there.

89
bollux.conf.5 Normal file
View File

@ -0,0 +1,89 @@
.TH bollux.conf 5 2020-05-26
.SH NAME
.B bollux.conf
\- configuration file for
.BR bollux (1)
.SH DESCRIPTION
.BR bollux (1)
uses a number of environment variables that can be sourced from an external file,
usually placed in
.IR $XDG_CONFIG_HOME/bollux/bollux.conf .
The location can be changed at runtime by invoking
.BR "bollux \-c CONFIG" .
.SH VARIABLES
.SS Variables you might actually want to set
Here are actually useful variables that are good things to set in your
.IR bollux.conf ,
in order of usefulness.
.TP
.BR BOLLUX_URL " valid values are URLs; default is ''."
If
.B BOLLUX_URL
is set,
.BR bollux (1)
loads that resource;
otherwise it asks the user for where to go.
Setting this variable works like setting a home page.
.TP
.BR BOLLUX_DOWNDIR " valid values are directories; default is '.'."
The directory to attempt to save downloads in.
.BR bollux (1)
will attempt to download anything whose mimetype isn't
.IR text/* ,
and it tries to place it in
.BR BOLLUX_DOWNDIR .
If it can't open the directory, save the file,
or if there's another file with the same name,
.BR bollux (1)
will report the name of the temporary file it saved.
.TP
.BR BOLLUX_MAXREDIR " valid values are integers; default is '5'."
The maximum number of redirects before
.BR bollux (1)
decides to quit.
The default is 5 as per some RFC spec.
.TP
.BR BOLLUX_LOGLEVEL " valid values are '', DEBUG or QUIET; default is ''."
How verbose
.BR bollux (1)
should be.
.I DEBUG
prints debug-level messages.
.I QUIET
suppresses even error-level messages.
I'm going to be honest,
the difference between the levels is somewhat arbitrary.
So.
.SS Variables that could be configured, but probably shouldn't be
These variables control deeper aspects of
.BR bollux (1)'s
workings.
It's possible they could be tweaked to make
.BR bollux (1)
work differently, like browsing gopher instead of gemini,
but that capability has not been tested.
.TP
.BR BOLLUX_PORT " valid values are port numbers (1-65535); default is '1965'."
The port
.BR bollux (1)
tries to connect to on the server.
.TP
.BR BOLLUX_PROTO " valid values are protocol names (strings); default is 'gemini'."
The protocol to use.
.TP
.BR BOLLUX_LESSKEY " valid values are files; default is '/tmp/bollux-lesskey'."
Where to store the generated
.BR lesskey (1)
file.
.TP
.BR BOLLUX_PAGESRC " valid values are files; default is '/tmp/bollux-src'."
Where to store the page source of the site being visited.
It's not used right now by
.BR bollux (1),
but you could ...
.BR cat (1)
it?
.SH FILES
.I $XDG_CONFIG_HOME/bollux/bollux.conf
.SH SEE ALSO
.BR bollux (1)