Spec proposal
Ali Fardan
raiz at stellarbound.space
Thu Oct 22 15:32:41 BST 2020
Greetings follows, I just found out about gemini recently and I got
interested in the project and wanted to be involved, In the process of
setting up my gempod (that's how you call them?), I wanted to be able
to have an HTML/HTTP mirror for my gempod and I haven't found a gemtext
to HTML converter so I decided to write my own, and in the middle of
the process I thought if I'm going write a full parser for gemtext,
I might as well make the code reusable and package it as a library, so
the project shifted from a gemtext to HTML tool to a gemtext processing
library, and here I am.
However, throughout implementing the parser, I got into many questions
about the spec, I can't really recall all of them right now but here
are a few:
- In 5.5.2 it is stated that lines beginning with "* " are elements of
an unordered list, and I assumed the space after '*' is required since
it
is included in the double quotes, when I asked for clarification on IRC,
others suggested I handle '*' with or without space afterwards, so I
did.
- In 5.5.3, I had the same question with quotes, the spec says ">" which
sounds like there should be no space after ">", and if there is a space,
I should treat it like a part of the quote, I asked on IRC if I should
follow that behaviour but others also recommended that I should handle
spaces after ">" just in case, which leaves me to think again if the
spec intended that or not.
- In 5.5.1, It is not explicitly stated how many heading levels are
allowed within the spec, I assumed it followed the same way markdown
does it allowing up to 6 levels, however, after asking on IRC, I was
told 3 is max, so I went with that.
As of now, my implementation is complete, It is almost usable for
anyone willing to test it, I wrote manpages for all functions currently
implemented, but not for the data types yet, I'm going to work on that,
and as part of my project, I want to write a manpage for the text/gemini
format (gemtext(5)) and I want it to be precise and spec compliant,
if you don't mind, I'll go ahead and write the manpage as a proposal to
standardize some of the unclear cases of the spec, if the rest of the
community agrees, maybe get the spec updated too?
Attached is a tarball of my current implementation (WIP)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libgemtext.tar.gz
Type: application/x-gzip
Size: 59403 bytes
Desc: not available
URL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20201022/fef7c467/attachment-0001.bin>
More information about the Gemini
mailing list