February 7, 2025
Okay so I swear to the skies this isn’t supposed to be a static site content management system app review blog, but, BUT: I think you have to check out Mattrbld, which has very quickly become my new favorite blog editor.
Full disclosure: I’m still pretty new to it, and it’s still a pretty new app itself, having just gone 1.0 recently, but there’s a lot to love here.
I’ve been…not enthusiastic about Decap, the cms/editor I’ve been using, for a bit now, mostly because it’s just kind of ugly. The UI just doesn’t feel great, it’s not terribly mobile friendly, and I just don’t love it, you know? It’s not something that makes me want to pop open a window and start blogging about stuff, at a time when I’m actively interested in blogging more. It works, it gets the job done! And there’s still plenty to appreciate about it, I think. But I’ve been wondering out loud recently if maybe there wasn’t a better way.
And then I swear like a week later I learned about Mattrbld, and once I took it for a spin and saw what it was doing, I became rather enamored.
So the shtick here is that instead of directly “installing” it to your repo, like you do with Decap, you run Mattrbld through a dedicated instance that runs as a PWA in your browser. You connect it up to your repo (or repos, more on that shortly), and from there you can do all your config directly within the app itself. It stores all your settings, including schemas and collection configurations, in a dedicated dot-folder in your repo; it can even collect schema info directly from existing content, which feels kind of disturbingly magical, to be honest.
The cool thing, or one of the cool things, here, is you can connect your PWA usage of Mattrbld to multiple repos, each with their own separate configs—so now I have my three blogs all set up within it, which means I can do all my blogging from a single platform. And then because all the repo-specific info is stored in that dot folder in each repo, you can load it up on multiple devices pretty easily.
And, what’s maybe most important here, is the interface feels nice. I am having more fun typing up blog posts here than I was in Decap (or even in Obsidian, knowing I’d eventually have to copy-paste it all into Decap to do it). There’s a reduction of friction here that makes the whole experience feel more like a classic CMS set-up than I’ve experienced yet, for my limited needs.
One of the more interesting gotchas that’s worth noting is that you’re technically working with content in your browser, in your local storage, which is then sync’ed up on demand with the remote repo. It’s maybe the one mental hurdle I’m still working on leaping here, not that it’s a particularly challenging one; mostly affects how I work with drafts, knowing both I need to figure out how to go tell Netlify to ignore my drafts-only syncs so I’m not running needless builds, and also reminding myself I do need to hit that sync button if I want to type up a draft on my computer and publish it later on my phone.
There’s more I should say or could say here, stuff I’m still taking note of and trying to work out for myself, but right now I’m mostly just excited to just go ahead and hit publish on this post and let it fly. Because I just…wrote it in Mattrbld. And now I can just…publish it. It’s almost…fun!…to blog!…
October 17, 2024
When I last wrote about this, there were two really good options for what I was looking for. Now there's only one, as Static CMS has been discontinued.
I'm bummed out about this, because Static CMS continued to have the better overall interface, and while I've tamed the Decap CMS interface a bit via the kind of thing you find when you dig through the issue queue, it's still not quite as good. Which, again, is a bummer.
But! Not the end of the world. I'm using Decap over on another blog of mine that I've been starting up recently, and it does work. I do wish the mobile interface kicked more butt, even with the hack styles implemented; it does seem like there's active work on the UI going on now, which is great. I'm holding on to see what's coming.
March 22, 2024
Look, I'm not about to start actually reading 1000 feeds, but, like, it's kind of fun to have it in the feed reader, as a source of pleasant professional distraction.
March 20, 2024
I've got two blogs hosted on Netlify using 11ty-based blogging systems—this one, which I generally brewed up myself using 11ty, and then my book blog site, which I recently revamped using 11ty-base-blog.
I don't update either enough, which is fine, I'm busy, but when I do, it sure is nice to have an interface to my content that doesn't require me to load up my code editor and directly interact with my files. To that end I use two separate versions of something that, once upon a time, was called Netlify CMS; for this site I use Static CMS, which forked off Netlify CMS a while back when it looked like Netlify CMS was dying on the vine, and for the book blog site, which I set back up sometime last year, I use Decap CMS, which is what Netlify CMS officially “became" when Netlify decided to officially not do it anymore.
What's worth noting off the top is that neither of these “CMS” options involve a database: they're both essentially interfaces that allow web-based editing of markdown files hosted in the site's git repo which in turn is published and hosted through Netlify (or, presumably, possibly, some parallel or similar system). I'm not sure how well this actually would work for teams collaborating on a site, or if it meets the needs of non-technical users who have a technical person handling site set-up but don't themselves require or possess technical know-how; I do not it makes it much easier for me to let the “content” and “nerdy code detail” sides of my brain drift from each other in time and space.
Set-up for both systems is fairly similar—there's an admin folder that needs to be published as part of the site deploy along with a settings or configuration file to gives the interface knowledge about the structure of the site-specific content files; all this feeds into a JavaScript-based interface. Authentication, at least for me, is through Netlify Identity. Honestly I'm pretty much at “just follow the tutorials and docs” levels of understanding here and I got them doing basically what I bare-minimum need them to do; it's not too hard, for sufficiently flexible views of what “too hard” might mean for you.
That said recently I realized that neither interface has let me know just how out of date my current versions were; for either site I was running 2 to 3 major versions behind. Luckily updating mostly meant pointing the scripts at the new versions and doing some minor under-the-hood cleanup, relatively minor because I'm not doing anything too crazy with either site. Fairly painless upgrades, in the end.
And, wow, what a difference it makes, particularly on the Static CMS side. The thing I'd liked more about Decap CMS was that it offered an editorial workflow system—the ability to naturally save content in draft form before hitting publish. (I had a “draft” flag on posts already so I could do this, but it's nice to have that baked into the system.) When I ran the upgrades I was fairly convinced I was going to wind up moving both sites to the same system, but now I've got this site running the newest (I think, unless there's already a new version I'm not aware of) Static CMS version, and now it too has an editorial workflow system in place. Plus the overall interface has gone through a huge upgrade; there's a dark mode and just a general polish that, last I checked, Decap CMS doesn't quite have yet. It's real impressive, and if I had to recommend one or the other, I would probably go with Static CMS.
At least, that's what I'd go with today. Decap CMS does seem to better integrate with Netlify's deploy preview system, so draft posts actually get fullly-previewable links on live “copies” of the site, which is really nice; maybe that's avaialble in Static CMS yet and I haven't figured it out yet. And of course at least from a total outsider view it seems like maybe these systems running in parallel are sort of nudging each other along, and I'll be curious to see what comes next from either side. At least for now I'll take advantage of the fact that I've got too many blogs (and not enough time for any of them) as a chance to keep an eye on both sides of the fence to see what happens.
January 25, 2024
I've been thinking about web components and I haven't been understanding web components and then today I listened to The Vanilla JS Podcast's “The elevator pitch for web components” episode and then I got several links deep into the related blog post and now I'm staring at a mildly custom little thing I need to insert into a specific point in one page in a CMS and I'm like, oh, wait, wait, maybe I don't have to sit here manually editing and reloading this page in the CMS over and over again to get this to work. Maybe I can web componentize this, work on the JS interactivity part separately, and just reload the related page until its working the way I expect. Or am I thinking about this the wrong way, still? Do I have time to figure it out? Let's find out!