made a little icon for comments because my phone doesn't support the unicode character "🗩
" :V
had an idea for a weird "mmo"-ish thing where, like, if somebody has a website, they could add a web component to a page, and it would replace itself with a game client that lets you walk around a 2D room that the site author could design and arrange like in animal crossing, and you could hang out in it with whoever else is looking at that same page in that moment
and then maybe you could also walk out of that room and walk to a neighboring building, which would take you to another website running the same game?
there would, unfortunately, have to be a central server that clients connect to just because of the way that websockets work, but you'd be able to host your own pretty easily if you wanted to, and all it'd do is coordinate client connections (and maybe keep track of cross-site metadata like "these two sites are neighbors"?)
future site improvement ideas:
- widget for embedding posts from other sites
- h-entry
- fediverse posts (i.e. mastodon, akkoma, etc.)
- tumblr (unfortunately i do still use tumblr...)
- widget that shows recent posts from my fediverse account
- day/night + weather cycle
- this was a joke but actually i could do this by swapping out the background image depending on time of day and the weather...
- changelog section on the homepage, generated from git commit logs
- word count on fiction posts
edit: i've been wanting to replace eleventy with a handcrafted server that generates stuff dynamically so i can, for example, post from my phone instead of having to open neovim and commit posts into git, and i just realized i don't have to write the whole thing from scratch and can instead just start with the part that generates posts, and have eleventy generate everything else until i've written the rest of it
gonna try to kill the protestant part of my brain by forcing myself to take a break for at least two days whenever i feel anything resembling burnout
Adding Comments To This Site
JavaScript package managers are the devil.I've been wanting to add a comment section to the site but I don't want to use any third-party services, so I hadn't done so until after finding out about Comentario, which is an open-source comment server that I'm now self-hosting an instance of. This would have been pretty simple to set up if I were using Debian/Ubuntu (for which Comentario has already been packaged) or if I were willing to use Docker, but my server's running NixOS, which didn't have a Comentario package.
Until now! I made one myself.
This ended up being much more complicated than I initially aassumed because, while building the backend was pretty easy, the frontend is built with Yarn, which isn't supported very well by the build tools available in Nixpkgs. I ended up having to go through a lot of trial-and-error to figure out exactly what build tools the frontend depended on -- for example, Hugo is used, but the docs, as of 2024-10-17, don't mention it.
I initially used mkYarnPackage
, because that seemed like the obvious answer, but apparently that's not very useful for building web frontends, so I wasted a lot of time trying to get that to work until I just gave up and wrote a custom build script.
The main issue ended up being the yarn run generate
step, which uses OpenAPI Generator, which nixpkgs does provide but which tries to download a specific version of itself at runtime, so I had write a script to patch the build config to use the nixpkgs version.
Its NixOS module is pretty standard for this sort of thing (just a simple systemd service and a Nginx vhost), and adding the web components to the site template was trivial, so at least everything else was easy.
we got comments now, yaaaaay
(click the 🗩 on the bottom of a post to comment on it)
I've been wanting to add a comment system to the site for a while, and I just found out about Comentario from this Damien post, but I have to take the GRE in a few days and I need to study for that ;-;