Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/codesoap/gmir

A reader for gmi files (of the Gemini protocol)
https://github.com/codesoap/gmir

gemini gemini-protocol gemtext gmi pager reader

Last synced: 2 months ago
JSON representation

A reader for gmi files (of the Gemini protocol)

Awesome Lists containing this project

README

        

`gmir` is a reader for gmi files (of the Gemini protocol). Its goal is
to make reading gmi files more pleasant than with a pager like `less`,
while also offering link selection.

Features include word wrapping, syntax highlighting, jumping to headings
through a table of contents and more.

The link selection feature is intended to make `gmir`
well suited as the pager for Gemini browsers like
[acdw/bollux](https://tildegit.org/acdw/bollux),
[chambln/gmi](https://sr.ht/~chambln/gmi/) or
[blmayer/astro](https://github.com/blmayer/astro). Unlike with less,
following links is possible without dropping back to a command prompt
first. Once a link is selected, `gmir` quits and prints its URL to the
standard output.

![screenshot of gmir](./screenshot.png)

# Installation
You can find precompiled binaries at the
[releases page](https://github.com/codesoap/gmir/releases). If you
prefer to install from source, execute this:

```
go install github.com/codesoap/gmir/cmd/gmir@latest
```

The `gmir` binary is now located at `~/go/bin/gmir`. If you use Go
version 1.15 or older, use `go get` instead.

# Usage
```
$ gmir -h
Usage:
gmir [-u] [-t TITLE] [FILE]
If FILE is not given, standard input is read.

Options:
-u Hide URLs of links by default
-t Set a title that is displayed in the bar.

Key bindings:
Up, k : Scroll up one line
Down, j : Scroll down one line
Right, l : Scroll right one column; reset with Esc
u : Scroll up half a page
d : Scroll down half a page
Page up, b: Scroll up a full page
Page down,
f, Space : Scroll down a full page
g : Go to the top
G : Go to the bottom
h : Go to next heading
H : Go to previous heading
s : Go to next paragraph
S : Go to previous paragraph
t : Show table of contents
/ : Start search
? : Start reverse search
n : Go to next search match
p : Go to previous search match
0-9 : Select link or table of contents entry
Esc : Clear input and right scroll or exit table of contents
v : Hide link URLs
V : Show link URLs
q : Quit
```

# TODO
Here are some ideas on what could be added in the future, in no
particular order:
- Add key bindings for going back, forward and reloading a page.