almnck/doc/site-design.org
2023-12-13 00:10:12 -08:00

1 KiB

Site Production

The Almanack site is managed by Django, but the production version is static content, generated by django-distill. Interactivity is provided by htmx, and the HTML that is loaded on demand by that javascript library is, as much as possible, stored as HTML fragments in individual files, generate as part of the same distillation process.

This dynamically-generated, but staticly-presented model allows us to host the site using IPFS as well as over HTTPS. It also allows us to pursue a local-first model, as the site can be passively loaded and aggressively cached in the background.

User Authentication

For authentication purposes, we associate public keys with each user account and only support authentication systems that allow us to only store public keys. This is so we don't have to faff around protecting passwords, and also to walk our walk.