Table of Contents
Gemini
Year: 2019
Port: 1965 (honouring NASA's Project Gemini, 1964-1966)
Created by: Solderpunk (pseudonymous)
What It Is
A protocol between Gopher and HTTP in complexity. Requests are a single URL terminated by a line break. Responses are a two-digit status code, a content type, and the data. TLS is mandatory. No cookies, no tracking pixels, no third-party resources, no JavaScript, no behavioral analytics.
Why It Was Created
Solderpunk watched more people rediscovering Gopher as a refuge from the bloated web. But Gopher has no encryption: a serious problem after Snowden's 2013 surveillance revelations. Gemini's answer: make TLS mandatory for all capsules.
Gemtext Format
Gemtext is line-oriented. The first characters of a line determine its type:
| Syntax | Type |
|---|---|
# Heading | H1 |
## Heading | H2 |
### Heading | H3 |
⇒ URL Text | Link (one per line) |
* item | List item |
> text | Blockquote |
` `` ` | Preformatted block toggle |
| (anything else) | Body text |
No nesting, no inline formatting, no images. Writing is stripped to its skeleton.
Blogging: Gemlogs
A gemlog is a Gemini blog. Entries follow the subscription convention: the date format YYYY-MM-DD at the start of a link label allows clients to auto-detect new posts:
=> /posts/2026-05-26-title.gmi 2026-05-26 Post title
Local files are stored in ~/gemlogs/, with index.gmi, about.gmi, feed.gmi, and posts/.
Local Setup
./bin/gemini-build.sh # builds gemini content rsync -avz ./dir/ you@tilde.town:~/ # push to tilde.town
Hosted at: gemini://tilde.town/~you
Tools
- Bombadillo, Offpunk, Lagrange: clients
- Markdown to Gemtext converter: convert existing writing
- Smol Pub: publishes simultaneously to HTTPS and Gemini ($5 lifetime)
- Web proxies: portal.mozz.us, proxy.vulpes.one
