Modern websites can be quite complex SPAs and in fairness for dynamic webapps it only makes sense to use a framework like react to handle state management. That said, I think a solution should only be as complex as necessary and for a site that serves static content, hosting files on a simple http server is totally sufficient. I don't want to handwrite each and every entry on this website in html though I want the server to be as minimal as possible. I decided to split this project into two independent processes. The server runs continuously statically serving files with minimal route aliasing. The content is generated seperately. This static site generator performs the following steps to transform the input data to the final output data that ends up being served:
- convert markdown to html
- fetch images
- transform tera html templates to html
- minify html, js, css
- convert images to avif
The final output is optimized for slow internet connections, the server could theoretically scale to hundreds of thousands of concurrent connections, and the attack surface is as minimal as it gets.
future plans
As mentioned I won't publish a lot. Expect this blog to be updated quite sporatically. You can stay informed of updates, by adding the RSS feed to your RSS reader.
I quite like the idea of hosting this site on an IC like an ESP-32.
