One Dimension on Gemini

Today I created a Gemini portal for this site. Now, this page is available both over http and gemini: any page can be accessed in gemini at gemini://{id}.gmi.

Not everything is working yet, but it’s a good first start to play around with the space.

Building it

The first step was converting all of the markdown files that make up this site to .gmi files. For this, I used the python package md2gemini .

The text/gemini media type is a bit more restrictive than markdown as the only supported styles are codeblocks, quotes, and lists. Links have their own block-level styling; there are no inline links as you find in html and markdown. As a result, during the conversion from markdown to gemini you must decide how to handle the inline links, which is certainly an unusual consideration.

Once the files are built, I use rsync to move the generated files to my server.

Serving it

I’m using jetforce to serve the portal. I installed it on my server and had it up and running complete with a TLS cert in about 20 minutes. Really nice project to play around with.