💾 Archived View for gemlog.blue › users › sloum › 1600231791.gmi captured on 2022-03-01 at 15:18:01. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2020-09-24)
-=-=-=-=-=-=-
I have read a number of people's writing lately lamenting the gemtext (text/gemini) markup language that was created for gemini. Many wish instead for either HTML (at least a subset of HTML) or some variety of markdown. Any time I hear this I think, "you _can_ use either of those on gemini and a server will be happy to serve it". While that is true, it ignores the fact that most extant clients do not have rendering for html or markdown.
On a whim I decided to write the worlds worst HTML parser for the gemini module in my client, Bombadillo. It is a truly awful parser that I wrote over the course of a late night hour when I was half asleep. Really, it is barely a parser and more a jumble of string replacements. However, it serves its purpose as a proof of concept reasonably well. I searched on gus for html documents served over gemini:
List of HTML Files In Geminispace
My parser renders the ones I tested out well enough to be quite readable and look more or less similar to how my client renders gemtext (but with inline links).
I do not know that I will actually build this out in the main branch of Bombadillo as there is not currently a big demand (at least not as judged by the number of people serving these files). I thought I'd mention it here though in case anyone wanted to check out and build the branch so they can have that available for themselves locally. If anyone does, please let me know what you think and whether or not you'd like to see this, and possibly markdown of some variety, supported by Bombadillo's gemini mdoule ( sloum AT rawtext DOT club ).
Bombadillo branch w/ HTML support in gemini
Again, this is a very rough version (I'd write an actual parser, maybe, if I were to really move this forward... this parser doesnt even make an AST) and there will definitely be many many edge cases (there is no support for tables, forms, scripts, frames, iframes, and many other things... they all just get ignored and their text nodes get rendered - except scripts, nothing renders from a script).
I would also like to go on the record as drastically preferring using gemtext on gemini. I think it suits it much better and is still very expressive. This is just an option to shut down some of the "lets expand gemtext" crowd. Gemini can support any language/format someone wants to build into a client. Rudimentary HTML support took me an hour with no outside libraries. I dont think all clients need to do this, but if doing so in a few pulls the reigns a bit on expanding gemtext then I am all for it. Lets not mess up a good and simple thing when we can just offer people choice and let each thing be itself. :)