org-modeTags:
I use Emacs, BTW
Reduced friction, my org-roam DB already uses org-mode
Expressive
Styling, but even Markdown can do this
Document is a tree
Properties on any heading
Interactive code blocks
Static site generation targets mainly markdown
Exporting with org-mode
Maintaining your personal website sounds fun, but running your own machines in the real-world incurs in a lot of risks and ultimately costs.
A multi-tenant hosting service is the only reasonable way of hosting personal sites, it's an efficient use of an already running file server, and you get SREs for free.
Other alternatives,
A raspberry pi sitting at home has many flaws:
I don't trust neither my ISP nor my power company to be up 24/7. Both have many outages a year and they rarely last less than an hour.
I don't want my IP to be exposed.
It can't scale-out.
While VMs on shared machines are also multi-tenant, it incurs in lots of overhead for the little extra control it gives.
Instead Xe Iaso's post about being attacked by crawlers for hallucinating models
htmxI initially used a static site generation tool
HTMX's motivation ends with a pretty strong point in my mind.
Why should only
<a>&<form>be able to make HTTP requests?Why should only
click&submitevents trigger them?Why should only
GET&POSTmethods be available?Why should you only be able to replace the entire screen?
By removing these constraints, HTMX completes HTML as a hypertext
I get to customise the page to my own liking
Since I own the site generator I can establish structure that simplifies things and I'm also free to retract from ideas that seemed ok at first.
Browsers get a jump scare on every deep link as we rely on the 404 page to route to the root page, and then JS to reconstruct the app state.
We could add tiny redirect pages to avoid showing a redirecting 404 to the browser.
These errors may break crawlers, but I'm ok leaving out hallucination machines.
History is broken. This is my fault, but haven't spent time debugging this.
No free theming that any decent static website generator would build for me
Javascript is required.
Bummer, but transmitting ready-to-swap HTML fragments requires this. It'd be cool to have a web like HTML+HTMX-JS, but it is what it is.