[SPEC] Backwards-compatible metadata in Gemini

Baschdel baschdel at disroot.org
Tue Feb 23 17:37:19 GMT 2021

I put some example metadata below my last E-Mail but after catching up 
with the rest of the discussion since writing it, and thinking a bit 
about it, I've come to the conclusion that I should add a littlebit of 

First and foremost: I consider this st its current stage a (thought) 
experiment and MAYBE a future convention for gemtext.

Something I really shouldn't have to write, but to clarify:
With great power comes great responsibility!
Adding metadata adds great power and whoever is implementing a metadata 
based feature should ask themselves if what they are doing is the right 
thing to encourage (this applies to all things you are implementing).

> ^^^
> version: 1 > date-written: 21-02-23 11:09 +0100
I added that one first and of course I messed it up.
It should be:
date written: 2021-02-23 11:09 +0100
I choose this format because it's easy to parse for humans and computer 
alike for dates. The key consists of two keywords: date and written a 
client that cares about metadata but wants to keep it simple can simply 
search for the first thing starting with date. (Maybe just having date 
is enough)
> author: Baschdel
> => mailto:baschdel at disroot.org author contact E-Mail
I'm using link lines for uris here because then they will still work if 
the client ignores the metadata, the contact keyword tells the client 
that this link is contact information.
the E-Mail is just a label for humans (I don't know if adding the label 
without any special delimiter is a good thing or not, it will definitely 
make it less easy to extend this)
> => mailto:gemini at lists.orbitalfox.eu?subject=… reply contact
Same as above without a label for humans, a client could show a reply 
button at the bottom of the page
> style: E-Mail message
Can of Worms! nasty ones!
Thinking about it, it would be a good thing to add styling hints (for 
example that this is a fee page or  search results page) but this would 
encourage writing gemtext, that is overloading linetypes left and right 
because some people don't realize, that styling and meaning are two 
different things.
> => https://lists.orbitalfox.eu/archives/gemini/2021/005420.html answerto > => https://lists.orbitalfox.eu/archives/gemini/2021/005522.html mirror
Two tagged links, one linking to the message this one is an answer to 
another one linking to a mirror of this page (following this system an 
alternative link to an answer would be tagged with "answerto mirror")

To prevent content authors and/or server from going wild I'd suggest, 
that clients always show the metadata section like it would render the 
page above.

One thing I don't really like with this one is, that we use English 
keywords here and that for human readable text that is intended to be 
attached to a file, that could be in any language and is not very 
accessible to non-English speakers.

A possible solution to that could be in unicode and (you guessed it, 
didn't you?) emoji (yay!), at least those little pictures are 
standardized and independent of the language(s) you speak. (Just make 
sure the emoji makes sense for what it is used)

- Baschdel (I should really spin up my own gemlog)

More information about the Gemini mailing list