Site re-organization
I took a ~month hiatus from posting anything here because 1) life has been too hectic to sit down and write much, but 2) more pertinently, the process for updating the site is pretty convoluted.
The steps are:
- Make sure Obsidian notes are synced correctly to my computer (a lot of them are written on my phone). The syncing happens via iCloud (even though pCloud is my real backup service) because that's the only one Obsidian support for free, and I'm not confident enough in my setup to want to sink any money into a paid service for it.
- Open up that iCloud folder on desktop and use the Jujutsu repo that I've sneakily crammed in there to sync it with an associated Git repo. (The commit is usually just "dump a bunch of files", would love to find a better approach at some point.)
- Once new stuff is merged to
main
in that repo, go to the separate website frontend repo and, if there are any frontend updates, make sure they're synced. If changes are made, that will automatically trigger a site redeployment. - If no frontend changes are needed, instead log in to Vercel (the current web host) and trigger a redeployment, which uses a convoluted little command to pull the latest note repo contents, run 11ty, and deploy everything.
Kinda sucks! Too many repos! Too many steps! Not very fun!
I'm now thinking I should:
- Move notes and the frontend into the same repo. That makes it a lot easier to edit site styling and content simultaneously.
- Get off of Vercel. I don't need a convoluted prod/pre-prod/dev multi-env, auto-deploy-on-merge, fancy thing. It's a static website! Some of the original setup decisions were to accommodate Vercel (which I picked out when following some 11ty tutorial years ago), and I really should just find something built for a simple static site.
Some other realizations:
- I really only need non-VCS syncing for two things: 1) writing stuff on mobile, and 2) un-published notes (that are either unfinished or unintended for the public). For the first point, using iCloud as the syncing mechanism is…fine. It gets the job done, and it doesn't need to be a super hardened backup if the real source of truth is a Git/Jujutsu repo. For the second point, I can keep WIP stuff in its own area (while still tracking it), and can either keep non-public notes in a completely separate system or…look into encryption or something if I want to get really crazy?
- Even deciding to stick to a VCS at all for the site contents is its own decision. I could just be using a non-tracked lump of Markdown files. (And in fact, if Obsidian had free/convenient pCloud support, I probably would've taken this route in the first place.) The downside of that is the continued split it encourages between the site and the contents: the site has to be set up to "import" all of the content while being somewhat blind to it—which is exactly what I currently have, with the two separate repos, and it's been a pain. In theory, I liked the notion of "modularity" in that approach, where I have a personal knowledge base thing that plugs in to a frontend for display. But I think I've come around to the idea that, rather than the website being a frontend to a set of notes, the note-taking app (Obsidian) is just a convenient interface to writing the website. That opens me up to breaking free from the note app and doing whatever else I want (e.g. some pages that are custom HTML, different file formats, maybe some other data strategies) if the mood strikes me. And all of that works a lot nicer when backed by a VCS, I think. (Another thing I've wanted to do is to put commit info as post metadata, partially just 'cause it seems like it would look cool.)
- Obsidian not allowing spaces in tags very much cramps my style.
Anyways, time to figure out how to merge repos!