Gemini is both a simple, new protocol to serve HyperText, and a simple, new markup language. It has it’s own site, Project Gemini. That’s where you can find the specification, as well as clients and servers.

It was born out of various needs:

The last item, for example, led to the decision to not use the typical “headers” for requests and responses of the Gemini protocol. You know the ones, from both mails and HTTP. It does have status codes (but fewer than the web), but it doesn’t have methods such as GET, PUT or POST. It has MIME-types, but it doesn’t have content negotiation.

The Gemini format is particular in that it is line-oriented.

A line of text is a paragraph, to be wrapped by the client. It is is independent from the lines coming before or after it.

A list item starts with an asterisk and a space. Again, the rest of the line is the line item, to be wrapped by the client.

A link is never an inline link like it is for HTML: it’s simply a line starting with an equal-sign and a greater-than sign: “⇒”, a space, an URL, and some text.

It’s weird, it’s small, and it’s different.

See also:

CategoryWebTechnology CategoryInterfaceDesign CategoryTextMarkup

EditNearLinks: CategoryWebTechnology CategoryTextMarkup HyperText CategoryInterfaceDesign