tl;dr - Today, I fixed a few bugs in Easy Diffusion and Freebird/VR Puppetry. And started building a blog engine that automatically takes my text file blog-posts from Dropbox and publishes them as a static blog on S3. I've already been writing a private blog for 10+ years as text files on Dropbox, and like it that way.
Fixed a few bugs reported in Easy Diffusion 3.5's beta. And investigated an issue in VR Puppetry and fixed a separate bug in bl_xr
for VR Puppetry and Freebird. And did a bit of support work for Easy Diffusion and Freebird/VR Puppetry.
After that I worked on a way to publish a blog from the text files that I write in my Dropbox folder.
Background fluff (can skip)
Like any self-respecting developer, I've spent more time writing static site generators and blog engines than I would care to admit. And certainly way more time than I've spent actually writing any blog posts. So this experiment is another in that series, and the main intent is to build something that I'd actually use for a while.
Data format
Writing plain text files in a Dropbox folder is the only "blogging" system that's worked for a decent amount of time for me (10+ years now, with reasonably consistent post intervals). I make a new text file each month (e.g. "October 2024.txt"), and then keep writing posts in that file for the rest of the month. Each post is separated by two hyphens (and line breaks above and below that line break). The first line of each post is a date. The post body can contain markdown.
This system works for me, and I've written a lot of posts over the last 10 years with this system. Those posts are private, but if I was able to do the same thing for public posts, I think there'd be a good chance that I'd actually write public-facing blog posts. Anyway, it's interesting to build this blog-engine regardless.
Overall publishing workflow
So the ideal system would just involve me writing the same way. I would continue writing text files in a folder on Dropbox, with a new text file per month. Every save would trigger a Dropbox webhook calling an AWS Lambda function. This Lambda function would fetch the text files from Dropbox, split the posts in the monthly text files into separate posts, and write a static-site blog to S3.
This would completely free me to write like I've always written and never worry about pressing the publish button, or do anything extra or artificial (for me). The system would automatically publish the changes to the public-facing site.
This would be very inefficient, if implemented naively. But a naive implementation is a reasonable start IMO, since text is really memory-efficient (especially if downloaded as a zip).
This would make Dropbox (and my local disks) as the true copy of my notes (rather than an external provider in a custom database). The S3 website would be like a public-facing mirror of those notes (with different formatting). It would align with my habit of writing on whichever device I'm on (since I have Dropbox synced on all of them). And I can use whichever text editor I feel productive in at that moment - Sublime Text, vi, Notepad etc. And no clutter or rich interface. Just me and a text editor, and raw text files.
I have a bad habit of pressing Ctrl+S every few sentences (from the old days of unreliable PCs), and that needs to be addressed. Otherwise it would trigger an enormous amount of unnecessary rebuilds. Again, I'd like to solve this with tech, rather than force myself to change how I write.