Sat Sep 28 17:39:59 UTC 2024
Sun Sep 29 04:24:22 UTC 2024
Gemtext is the format for Gemini hypertext, which is what is being rendered to you right now. It's usually found in files bearing a .gmi extension and served by a gemini server through the gemini protocol.
It is described in detail in the format specification. Version 0.24.1 of this spec, dated 2024-08-28, was the companion to writing the present text. It is accessible at the Gemini Protocol website:
=> Gemini hypertext format, aka "gemtext", specification
I appreciate gemtext for being easy to write and read as plain text.
What that means is that, prior to any processing or rendering, prior to the browser touching it, you can open a gemtext file and parse it with your own senses. It will read just like a plain text file.
In fact, you could write a text file with no special syntax whatsoever, give it to a Gemini server to serve and it would have zero complaints to make.
Markdown is one other format that also aims to be readable in its raw form, and it is far better than many alternatives at that, but depending on how many inline links and formatting you add, it can also become hard to read.
Gemtext won't even give you bold and italics. It's really just write, just read. This benefit in reduced complexity is not just about the writer and the reader, who benefit immensely, but also the programmer who is parsing it.
Styling is not up to the writer. The medium is focused on text and on making text pleasant to read. So I am not in charge of making it pleasant for you to read because I have no idea how you prefer your text to be rendered. All I do is provide the meaning, the rest is up to you. While the Gemini FAQ emphasizes this aspect, I also believe it has incidentally also made it very pleasant to write.
Reading text with a simple, clear, uncluttered layout without any animation or embedded videos or sidebars full of distracting, unrelated extras. [...]
Reading that starts as soon as the page loads, without you first having to carefully click past a pop-up window which actively tries to mislead you into "consenting" to something nobody actually wants or needs, and which continues right to the end of the page without being interrupted by another pop-up begging you to subscribe to a newsletter. Gemini pages are downloaded once and rendered once, and then they stay that way for as long as you care to look at them. Nothing changes in response to you scrolling around or time passing.
Reading in peace because there's no way for a page to play music or make a sound without you actively inviting it to, so you're free to enjoy your own background music, or maybe to just keep quiet if you're reading somewhere with other people around. It's up to you, like it should be; it's your computer, and they're your ears.
Reading in private because your reading software doesn't tell the servers you get your reading material from anything about who you are or what else you've read, so nobody can follow you around and build up a record of your reading habits to sell to others without asking or even telling you.
I find this section of the FAQ one of the most poetic ways to explain the necessity for a given piece of software, and I also think it demonstrates why the writer should care about the medium in which their words exist, because it can imply exploitation -- as in unconsented, unpaid use -- of their own work and their reader's attention, identity and information. The significance of this will vary greatly depending on who is this writer and who is this reader.
As a writer, or, perhaps, as a writer who cares about the writing tools themselves, this concern is not as trivial. It boils down to the fact that when tools aren't like this, you can't "just write".
You need a whole complex "software as a service" offering, with an inbuilt editor. You need some suite of software that will produce the only proprietary format that you will be able to productively exchange with your peers. You need a bloated piece of software on your reader's end that could display them your words just as much as it could mine cryptocurrency.
With something that is really about writing and reading in the most basic sense, you can just write it as plain text, and it is very readable as plain text already, unlike HTML, which will soon become a mess of tags, also rendering it impossible to write as your thoughts are flowing, as you'd always be writing tags everywhere, the tags getting in the way of what you are actually trying to do, which is write.
From this it would follow that you are not supposed to write HTML by hand in the first place, which in turn implies you will always necessitate one more interface sitting between you and HTML to perform this work.
Your other options are office-suite document files, PDFs and plain text files. If all you want to do is write and read, the first two are often overkill and bound by the limitations of the software that will produce and display them, and all three are just not meant to be shared in any accessible, responsive, interoperative, as-is nature.
Gemtext cuts flat this divide between writing, transmitting and reading. As the spec states:
The format is designed to be both as simple to write by hand and as simple to parse as practical. The essential structure of a gemtext document is flat, not hierarchical, and a document can be parsed and rendered correctly in a single top-to-bottom pass.
The format is explicitly NOT intended to facilitate precise and replicable control by document authors over how the document is displayed. Styling is under the exclusive control of the rendering user agent.
Further ahead, the spec describes gemtext as a "line-oriented format" with six different line types:
That's it. A total of six things to learn. The takeaway being that your average text file is already good as it is.
=> Project Gemini: A quick introduction to "gemtext" markup This content has been proxied by September (ba2dc).
=> Project Gemini: Gemtext cheatsheet
=> Project Gemini: FAQProxy Information
text/gemini;