minimal gemini/spartan client for the terminal
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.
Hedy Li a45b4d70fe
Hedy Li (6):
10 months ago
.gitignore initial 1 year ago
LICENSE initial 1 year ago fix start url 10 months ago
client.go time to go fmt 10 months ago
cmd.go time to go fmt 10 months ago
config.go config stuff 10 months ago
gelim.1.scd docs, quote style, and wrapped list style 11 months ago
gelim.go time to go fmt 10 months ago
gemini.go fix link label printf % displays 10 months ago
go.mod switch to using liner 10 months ago
go.sum switch to using liner 10 months ago
spartan.go forgot to fmt 10 months ago


a minimalist line-mode gemini client, written in go.

WARNING: the project is still in its early stages, so do expect bugs and incomplete features, if you encounter them, or would like to suggest an improvement, feel free to submit to the ticket tracker.

screenshot screenshot


  • searching from the command line
  • inputs from the command line
  • relative url at prompt
  • pager (requires less(1))
  • configuration file
    • custom search URL
    • custom pager opts
    • and more!
  • spartan:// protocol support
  • check out some of the planned features in the ticket tracker


I plan to set up automated uploads of pre-built binaries to each release at some point in the future. at the moment you can clone the repo and go build:

git clone
cd gelim
# git checkout v0.0.0  # pin specific version or commit
go build

and move the gelim binary somewhere in your $PATH (like /usr/local/bin)

I could also write a Makefile, and have the build put $VERSION number in there or something too, let me know if you'd like that since I'm not wanting to do that yet.


use scdoc to compile gelim.1.scd and put it in your man path

I'm also planning to have a mirror of that manual hosted on

Note that the manpage may not be the most recently updated. But new features and things like that will definetely be put in there once it's tested stable.



This will bring you to less(1). You can use less to browse the page normally.

When you want to visit a link, you have to quit less first. Just press q, then simply type the link index number you'd like to visit and hit enter. The page will be fetched and you'll be in less again.

Now let's try something more interesting.

While you're at the prompt type in and hit enter. Then press G. This will navigate to the bottom of the page. Say you don't have an account on RTC yet, and would like to sign up. Well, that's easy, the bottom of the page shows you which URL you could go to to sign up, and the URL is from the same host as the current page.

First exit less by typing q. Then type /sign-up.gmi at the prompt, hit enter, and voila, you've just used relative paths to browse geminispace, saves a ton of typing doesn't it?


For most people it will look for configuration in ~/.config/gelim/config.toml

Though you do not need a configuration file to have gelim working.

# example config

prompt = "-->"            # default: "url/number/cmd; ? for help >"

startURL = ""  # default: ""

# will be put in LESS environment variable
lessOpts = "-FSXR~"       # default: "-FSXR~ --mouse -P pager (q to quit)"

searchURL = ""  # this is the default


bugs, features, feedback, contribution