diff options
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | bollux.1 | 69 | ||||
-rw-r--r-- | bollux.conf.5 | 89 |
3 files changed, 165 insertions, 5 deletions
diff --git a/Makefile b/Makefile index 3096726..0c98bff 100644 --- a/Makefile +++ b/Makefile | |||
@@ -4,16 +4,18 @@ | |||
4 | 4 | ||
5 | PREFIX ?= /usr | 5 | PREFIX ?= /usr |
6 | 6 | ||
7 | PRGN := bollux | ||
8 | |||
9 | .PHONY: def install uninstall | 7 | .PHONY: def install uninstall |
10 | 8 | ||
11 | def: | 9 | def: |
12 | @echo "run 'make install' to install" | 10 | @echo "run 'make install' to install" |
13 | @echo "run 'make uninstall' to uninstall" | 11 | @echo "run 'make uninstall' to uninstall" |
14 | 12 | ||
15 | install: $(PRGN) | 13 | install: |
16 | install -D $< $(DESTDIR)$(PREFIX)/bin | 14 | install -Dt $(DESTDIR)$(PREFIX)/bin/ bollux |
15 | install -Dt $(DESTDIR)$(PREFIX)/share/man/man1/ bollux.1 | ||
16 | install -Dt $(DESTDIR)$(PREFIX)/share/man/man5/ bollux.conf.5 | ||
17 | 17 | ||
18 | uninstall: | 18 | uninstall: |
19 | rm -f $(DESTDIR)$(PREFIX)/bin/$(PRGN) | 19 | rm -f $(DESTDIR)$(PREFIX)/bin/bollux |
20 | rm -f $(DESTDIR)$(PREFIX)/share/man/man1/bollux.1 | ||
21 | rm -f $(DESTDIR)$(PREFIX)/share/man/man5/bollux.conf.5 | ||
diff --git a/bollux.1 b/bollux.1 new file mode 100644 index 0000000..e4184d5 --- /dev/null +++ b/bollux.1 | |||
@@ -0,0 +1,69 @@ | |||
1 | .TH bollux 1 2020-05-26 | ||
2 | .SH NAME | ||
3 | bollux \- gemini protocol browser written in bash(1) | ||
4 | .SH SYNOPSIS | ||
5 | .B bollux | ||
6 | .RI [ \-h ] | ||
7 | .TP | ||
8 | .B bollux | ||
9 | .RI [ \-q ] | ||
10 | .RI [ \-v ] | ||
11 | .RI [ \-c | ||
12 | .BR CONFIG ] | ||
13 | .RB [ URL ] | ||
14 | .SH DESCRIPTION | ||
15 | .BR bollux (1) | ||
16 | is a browser for the new Gemini protocol, which aims to be | ||
17 | "heavier than gopher, but lighter than the web." | ||
18 | It can follow links, collect user input, download files, and display text/* mimetype pages in geminispace. | ||
19 | .SH OPTIONS | ||
20 | .TP | ||
21 | .B \-h | ||
22 | Display an inline help screen and exit | ||
23 | .TP | ||
24 | .B \-q | ||
25 | Be quiet: don't show any messages, even fatal ones | ||
26 | .TP | ||
27 | .B \-v | ||
28 | Be verbose: show all messages, even debug ones | ||
29 | .TP | ||
30 | .B \-c CONFIG | ||
31 | Use CONFIG file to configure | ||
32 | .BR bollux (1) | ||
33 | instead of the default: $XDG_CONFIG_HOME/bollux/bollux.conf. | ||
34 | .TP | ||
35 | .B URL | ||
36 | The gemini URL to navigate to | ||
37 | .SH USAGE | ||
38 | If | ||
39 | .BR bollux (1) | ||
40 | is invoked with a URL, it will download or display that URL. | ||
41 | Otherwise, the user will be prompted for a URL to download or display. | ||
42 | If the URL points to a text/* document, it is paged with | ||
43 | .BR less (1) | ||
44 | with custom keybinds: | ||
45 | .TP | ||
46 | .B o | ||
47 | open a link on the current page | ||
48 | .TP | ||
49 | .B g | ||
50 | goto a new URL | ||
51 | .TP | ||
52 | .B r | ||
53 | refresh the current page | ||
54 | .TP | ||
55 | .B q | ||
56 | quit bollux | ||
57 | .PP | ||
58 | If a new URL is selected, | ||
59 | .BR bollux (1) | ||
60 | will repeat the download-and-display loop with the new URL. | ||
61 | .SH ISSUES | ||
62 | There is currently no history storage or recall. | ||
63 | .BR bollux (1) | ||
64 | can get confused on some URLs \-\- munging them correctly is an area of active research. | ||
65 | .SH SEE ALSO | ||
66 | .BR bollux.conf (5) | ||
67 | .SH BUGS | ||
68 | The development repo is located at https://sr.ht/~acdw/bollux. | ||
69 | Please direct all bug reports, patches, or general complaints there. | ||
diff --git a/bollux.conf.5 b/bollux.conf.5 new file mode 100644 index 0000000..eada1de --- /dev/null +++ b/bollux.conf.5 | |||
@@ -0,0 +1,89 @@ | |||
1 | .TH bollux.conf 5 2020-05-26 | ||
2 | .SH NAME | ||
3 | .B bollux.conf | ||
4 | \- configuration file for | ||
5 | .BR bollux (1) | ||
6 | .SH DESCRIPTION | ||
7 | .BR bollux (1) | ||
8 | uses a number of environment variables that can be sourced from an external file, | ||
9 | usually placed in | ||
10 | .IR $XDG_CONFIG_HOME/bollux/bollux.conf . | ||
11 | The location can be changed at runtime by invoking | ||
12 | .BR "bollux \-c CONFIG" . | ||
13 | .SH VARIABLES | ||
14 | .SS Variables you might actually want to set | ||
15 | Here are actually useful variables that are good things to set in your | ||
16 | .IR bollux.conf , | ||
17 | in order of usefulness. | ||
18 | .TP | ||
19 | .BR BOLLUX_URL " valid values are URLs; default is ''." | ||
20 | If | ||
21 | .B BOLLUX_URL | ||
22 | is set, | ||
23 | .BR bollux (1) | ||
24 | loads that resource; | ||
25 | otherwise it asks the user for where to go. | ||
26 | Setting this variable works like setting a home page. | ||
27 | .TP | ||
28 | .BR BOLLUX_DOWNDIR " valid values are directories; default is '.'." | ||
29 | The directory to attempt to save downloads in. | ||
30 | .BR bollux (1) | ||
31 | will attempt to download anything whose mimetype isn't | ||
32 | .IR text/* , | ||
33 | and it tries to place it in | ||
34 | .BR BOLLUX_DOWNDIR . | ||
35 | If it can't open the directory, save the file, | ||
36 | or if there's another file with the same name, | ||
37 | .BR bollux (1) | ||
38 | will report the name of the temporary file it saved. | ||
39 | .TP | ||
40 | .BR BOLLUX_MAXREDIR " valid values are integers; default is '5'." | ||
41 | The maximum number of redirects before | ||
42 | .BR bollux (1) | ||
43 | decides to quit. | ||
44 | The default is 5 as per some RFC spec. | ||
45 | .TP | ||
46 | .BR BOLLUX_LOGLEVEL " valid values are '', DEBUG or QUIET; default is ''." | ||
47 | How verbose | ||
48 | .BR bollux (1) | ||
49 | should be. | ||
50 | .I DEBUG | ||
51 | prints debug-level messages. | ||
52 | .I QUIET | ||
53 | suppresses even error-level messages. | ||
54 | I'm going to be honest, | ||
55 | the difference between the levels is somewhat arbitrary. | ||
56 | So. | ||
57 | .SS Variables that could be configured, but probably shouldn't be | ||
58 | These variables control deeper aspects of | ||
59 | .BR bollux (1)'s | ||
60 | workings. | ||
61 | It's possible they could be tweaked to make | ||
62 | .BR bollux (1) | ||
63 | work differently, like browsing gopher instead of gemini, | ||
64 | but that capability has not been tested. | ||
65 | .TP | ||
66 | .BR BOLLUX_PORT " valid values are port numbers (1-65535); default is '1965'." | ||
67 | The port | ||
68 | .BR bollux (1) | ||
69 | tries to connect to on the server. | ||
70 | .TP | ||
71 | .BR BOLLUX_PROTO " valid values are protocol names (strings); default is 'gemini'." | ||
72 | The protocol to use. | ||
73 | .TP | ||
74 | .BR BOLLUX_LESSKEY " valid values are files; default is '/tmp/bollux-lesskey'." | ||
75 | Where to store the generated | ||
76 | .BR lesskey (1) | ||
77 | file. | ||
78 | .TP | ||
79 | .BR BOLLUX_PAGESRC " valid values are files; default is '/tmp/bollux-src'." | ||
80 | Where to store the page source of the site being visited. | ||
81 | It's not used right now by | ||
82 | .BR bollux (1), | ||
83 | but you could ... | ||
84 | .BR cat (1) | ||
85 | it? | ||
86 | .SH FILES | ||
87 | .I $XDG_CONFIG_HOME/bollux/bollux.conf | ||
88 | .SH SEE ALSO | ||
89 | .BR bollux (1) | ||