Re-writing Firn in rust - pt. 3

Tagged: clojure rust

I'm just about done the re-write of Firn. I've had some vacation time over Christmas and have been able to just putter away at it. It's an amazing feeling to have time off and do that.

I mostly worked away at building the development server, which was intimidating at first, but got a lot easier - mostly thanks to reading the source code for Zola. So, I was able to setup some file watcher for re-compiling when org/scss/layouts change, and then setup a basic directory server using the Warp http library. Adding scss to the site is a nicety that I was also able to pilfer from Zola.

To be honest, it feels like the code I'm writing is just glue between libraries. Maybe that's what you'd call "Application code". I think I have a bit of imposter syndrome that I'm not "writing things from scratch".

Along the way I've ripped out some features from the original prototype - some of the hacky stuff like headline folding, rendering properties, and the "firn_under" organization method.

Thanks to the templating engine Tera (same author as Zola, I believe), it shouldn't be a problem to attach things like logbook data or link data to the javascript window object - this would make for some fun visualization opportunities such as building logbooks similar to clj-org-analyzer with canvas, or building a link graph like org-roam-ui offers.

So, hopefully I can finish the remaining 10% (which as usu. is the remaining 90%) of the project before I return to work and get busy with other new year ambitions.