💾 Archived View for idiomdrottning.org › gemtext captured on 2022-01-08 at 13:43:57. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-12-09)

➡️ Next capture (2022-06-11)

-=-=-=-=-=-=-

Role of Gemini Text

To tie into some of my earlier posts on this, here’s how I see the purpose and limitations of Gemini’s text format.

I love Markdown

Gemini Typography

Gemtext’s Limitations

A lot of formats have limitations.

You can’t easily reflow the text or change the font on a printed page, or have metadata like alt or rel.

Neither can you easily set the font on an SMS/text message.

No one is complaining that you can’t enforce a multi-column layout on a text message.

And while there are ways to do those things on email (via HTML email)… that sucks! It’s awful to read email when every mail is its own color scheme or font size. Even web pages are starting to get annoying for the same reason.

Gemtext is really well set up for when the site is a tree. Pages link to subpages link to subsubpages. (I realize that I don’t do this personally. I’m pretty OK with if people wanna just read one article or look at one image, be happy with that, and then move on. Not every site needs to be an ad for more of itself.)

Mozz writes about navigation

Source Languages vs Target Languages

Texinfo and DocBook are early examples of source languages that were designed for outputting more than one target.

You could write in the source format and export a man page, a pdf, or a set of webpages. That was really eye-opening to a lot of people.

roff itself was made both for typeset, printed pages and for man pages.

What happened the last two decades, after the failures of YAML but the successes of an ever-extending, nebulously defined markdown, is that the expectation is that every language, even languages that look like (on the surface) like simple text languages, need to be a universal source language. Every language needs to handle every feature.

But, they don’t.

Gemtext does not a have to be universal source language.

If you do have content that is somewhat lossy to write in Gemtext (for example you have italicized words or you have a specific layout), it’s fine to put that in a source language and generate gemtext from that, and a book or whatever also from that. And the book could preserve the typographical detail or layout detail while the gemtext version has other benefits.

Don’t get me wrong here. I’m not advocating that everyone needs to start doing that. If what you want to express fits in gemtext, and you are writing it in gemtext, please keep on doing so.

No one should be advocating for the widespread use of a cockamamie Rube Goldberg Markdown conversion scheme for things like text messages, YouTube comments, or gemlog posts. Keep it simple, darling.♥

If you want to use the same texts for something else, though, that’s when you might want to look into source languages.

Texinfo

DocBook

Gemtext’s Purpose

Since Gemtext is so simple, and hard to mess up, it’s possible to typeset it gorgeously in the client. As much as people try to separate HTML’s semantic markup from its presentation, we still see completely messed up things like sites drowning in very deeply nested divs, or only generated on the fly with JavaScript, or (and Markdown is guilty here!) using em when they mean i, for things like Latin names.

That’s not happening as much on gemtext. That’s a huge win!

It’s just a very, uh, “mashable” and reliable format.

As I wrote the other day (linked above)

Gemini finally solved the semantic vs presentation problem.

Gemtext’s Failures

Hardwrapping

Although, grumble grumble hardwrapping! In hindsight, gemtext’s wrapping semantics were absolutely a bad decision in the context of the “reliability” of gemtext, the “you can’t really mess up the semantics”–ness of it…

It doesn’t have any in-line markup that can fail, such as emphasis or hyperlink that doesn’t get closed.

Before gemtext, semantic markup depended on everyone being smart and never messing up.

(If I had a nickel every time I personally saw someone just putting bold&big when they mean header, or vice versa, I’d have almost three million dollars. Uh, a nickel is five cents, right? Then yes.)

Gemtext is way more mess-up proof in that regard and that is what we need for the future of the web.♥

But. The simple act of hitting carriage return when writing a paragraph can render the whole thing borked up.

Metadata

At first, I missed rel next and rel prev but with the “tree”-like structure that gemtext is suited for, I realize that I’d be tryna push a square peg into a round hole.

Next and prev can be understood as the next and previous link on the parent page—the page that led one here! They don’t need to be on every page.

So next/prev is not a failure as far as I’m concerned.

However, being able to link to alternate formats, or designate something as creative commons, that’s something I do miss. I get that having those would be adding areas where people could mess up. So I get why that’s not there, but that means that trying to do those things is still an open problem. I think this is another of those square pegs and round holes situations. If I stick with the premise that gemtext is a target language rather than a source language, metadata doesn’t necessarily need to be on the gemtext pages themselves. It’s just difficult to find the metadata for a given capsule.

Follow-up

lapingvino reminds us of Fountain, another successful source language that transfroms into a simple export language.

Markdown for a different purpose (gemini text and Fountain)

The unfinished script I started writing last fall but hasn’t finished yet uses Fountain. Via Emacs’ fantastic fountain support.

The Waning Moon

Follow up, part two: more failures edition

Custom conventions

People filling their text lines with *askerisks*, /slashes/ and all kinds of comicana @#$%^ is fine as long as no Gemini client starts rendering that or respecting that in any way.

Header levels

Header levels, on the other hand, is an area where people can mess up.

Please don’t skip header levels. Put # in the top, one per document is ideal but more is fine, and then ## under that, and ### under that.