koine devlog part 3

journcy.net in your RSS reader!

Yes that's right, I've finally done it

RSS (technically Atom)

Witness the power of this fully operational Atom XML generator, courtesy atomb.

Louis Pilford: "atomb"

I also stole Hayleigh's 'opengraph.gleam' file from the Lustre SSG (hey, 60 lines of code I didn't have to write) and added OpenGraph support to every page, so now all my Bluesky links should look pretty. Gotta get my conversion rates up y'know

Nitty gritty details

The feed generation logic comes from the semi-official Gemtext subscription protocol that provides a convention for interpreting Gemtext pages as Atom feeds. It's implemented straight, with basically no breaches of spec, but with a few small additions (e.g., authors). The simple explanation is each link in the '/index.gmi' with a YYYY-MM-DD date at the front becomes a feed entry. (They also get set with a default time of 12:00:00 UTC, so mwahaha, the world will never know I'm writing this at 1:30 AM. Unless I post a link around that time on Bluesky)

Gemini Protocol: "Subscribing to Gemini pages"

I'm going to put full-text into the RSS feed at some point, but I want to do a bit of refactoring before I do so I can avoid processing every file twice (even though it really doesn't matter considering journcy.net is still measurable in 100s of KBs).

Digging around in koine again also gave me the chance to fix and tweak a few things, so:

(Like

This)

Look when your markup language of choice is Gemtext you gotta take the wins where you can find them. Technically multi-line blockquotes isn't even to spec I'm pretty sure. Though if your client is displaying them as literal text you can't really tell the difference, so, maybe.

I'm also starting to consider introducing... page navigation..! But that's getting pretty radical, and of course you all use web browsers that include a "go up one level" operation as a basic user action like it's 2004, so really who needs it.

The real feature to watch out for is code highlighting, but that's significantly more complicated than anything else I've done for the site so far, so it'll take some figuring out. I'd prefer to keep the dependencies as minimal as I can, but I'm also interested in the idea of using tree-sitter to do the parsing. Taking a cursory look this might be a huge project that I give up on, but hey I've gotta have something to do in November, right?

The kanji of the day is 志

Finally a new friend! Conning tries to say the mnemonic for this one is 心/HEART aiming with 士/MILITARY MAN+MAN OF LEARNING, indicating its AMBITION. This seems silly to me when we can observe the AMBITION in the HEARTs of so many well-studied military men.

Discuss this post on Bluesky