Gemini is an alternative internet protocol. It looks a lot like a modern Gopher but
- enforces TLS
- has its own
text/gemini
media type (also the line-oriented as Gopher text) - supports other MIME-types (images for example)
The full specification is available here (mirror in Gemini: gemini://gemini.circumlunar.space/docs/specification.gmi
(or via HTTP-proxy).
gemini://gemini.circumlunar.space
is an entry point to the Geminspace. To browse it you will need to have a Gemini client. But you can open any gemini://
address within a Web-browser using some proxy server like this or that.
Alternatively, one can take a look to the geminiquickst.art site. It is the ultimate entry-point to the protocol: "why", "where", "how to" on a single page!
Here are some clients:
- Castor written in /Rust
- Lagrange, nice and slick but powerful GUI client written in C11 using SDL
- kristall, a cross-platform "Small-Internet Browser", supports Gopher and Finger too.
- Deedum, a Gemini browser for /Android
- diohsc, a terminal client written in /Haskell
- Wobbly, a Web-based proxy/client, small but nice!
Many pieces of Gemini-related software are listed here. Also, one can always look at awesome-gemini repo.
Gemini text can be edited in /Emacs (see ox-gemini and gemini-mode. Also, Markdown can be converted to Gemini/text using md2gemini.
One can set up its own Gemini server and have a personal star in the Gemini constellation. Many of such servers can be found in this list or through the GUS (Gemini Universal Search).
Notable servers and server-side frameworks:
-
This one can serve some static files but can be used to build applications like astrobotany
-
/haskell/gemini-server, a simple framework for /Haskell
Many Gemini users have their own blogs - the "gemlogs". Usually, gemlog looks like this or that - minimalistic but nice. Someday I also build one for myself!
Also, some people from the /Tildeverse create and host Gemini resources.
There is even a some kind of "blogging platforms" like flounder where you can register a profile and just write some posts. That posts will be accessible as from Gemini as from portal's HTTP face.
It is just fun! And there are people's thoughts:
- What is this Gemini thing anyway, and why am I excited about it?
- Why not just use a subset of HTTP and HTML?
- Gemini, the stronger twin
- "A vision for Gemini applications"
- "Subscribing to Gemini pages", some thoughts about separate feeds VS the page content itself as a source of changes to subscribe to.
- "Gemini and POST" + ".., Part 2"