I was inspired by a recent Hacker News post about a single binary website because that was my original goal with this website. The post and discussion can be found here but that story also linked to more interesting website https://j3s.sh/ which I thought gave a compelling argument for creating a single binary dynamic website.
My original idea for this site was to write it in Scala and create a custom web framework using all the functional programming knowledge I had. I could never motivate myself to start it though and even from the beginning I was procrastinating when it came to writing it. I started by writing a Chrome extension to hot-reload my page and doing some organization stuff. Then some messing around with handlebars and templates and getting frustrated trying to learn node.js.
There's a bunch of points that resonated with me from the j3s.sh blog post about creating a single binary dynamic website:
I changed my site from being generated statically from handlebars templates to being served by a Rust binary because I've been trying to learn Rust for a few weeks. It was really simple to do the way I had things setup. I have been reading through the Rust book and at the end it leads you through the exercise of writing a simple webserver. I followed that guide and created a version that can serve my index page, blog entries, and a 404 page.
I'm trying to write the webserver in a test-driven way and have a samll idea of how I want things to work. My site is still running of github pages until I buy myself a domain and server to host this binary. I want there to be a sitemap page which lists all pages on my site. That page should be dynamically generated by walking the tree of my project. For now that will be everything in the blog folder. I also want a raw directory and file viewer similar to j3s.sh (directories and files).