Blogging CMS Wishlist

High on my reasons why I wish I had the knowledge (or the time and energy to gain the knowledge) to code my own software: As far as I can tell, nobody has yet written the CMS I want to use for blogging.

Basically, what I want is early-2000s MovableType, only with some modern updates. I’ve long missed many of the tweaks and customizations that I could manage with MovableType that I can’t do on WordPress.

Pie-in-the-sky featureset:

  • Self-hostable or installable on a hosted server (Dreamhost, etc.)
  • Micropub compatible so I can use MarsEdit or other such third-party editors
  • ActivityPub/IndieWeb compatible for federation (at least outbound, ideally bidirectional so that federated replies could be appended as “comments”)
  • Generates a static website instead of building every page when its called
  • Only regenerates necessary pages when updates are published, full-site rebuilds available on demand
  • Some sort of templating “building blocks” system for assembling different pages, posts, or sections thereof
  • Basic templates that are fully standards-compliant and accessible (HTML5, ARIA when/if necessary (since static pages shouldn’t have much dynamic content), etc.)
  • Templates should also be microblogging compatible
    • Example: Titles are optional, and shouldn’t be the only item used for permalinks to any given post, something that bugs me about my current blog template but I haven’t figured out how to fix yet
  • Markdown for writing and storing posts
  • The ability to generate multiple versions of posts/pages on rebuild
    • Example: Output both .html and .md versions of a blog post, so a “view source” link could be included in the post template; readers could then easily click through to view the Markdown version
  • Import posts exported from existing common blogging or microblogging systems (WordPress and Twitter, in my particular case)

Things I don’t want or care about:

  • Fancy drag-and drop “block” editors like WordPress’s Gutenberg
  • Comments (beyond pingbacks/trackbacks/federated responses)
  • Having to do everything on one machine (edit locally and upload)

I’m sure there are plenty of other things that I could put in the wishlist or the “no thanks” list, but those are the first ones to come to mind. Every time I’ve done a survey of static site generators, they consistently fail one or more of the above.

Honestly, I think I could live without much of the above, if I could find a static site generator that would allow me to blog and manage posts and pages from anywhere (my desktop, my laptop, my iPhone, my iPad, etc.) through the Micropub API; logging into a web interface of some sort should be possible if necessary but not required for general day-to-day post publishing.

Oh, and it needs to be installed and managed by someone who has a higher-than-average knowledge of computing and tech geekery, but doesn’t do this stuff for a living. Someone who gets annoyed when they call tech support and have to start with the “is it plugged in?” level of questioning, but who also gets annoyed when software assumes that you’ve been immersed in this kind of stuff for decades. There doesn’t seem to be much out there other than WordPress that does a good job of bridging between “it just works” and “I eat, drink, and breathe code in all my waking and sleeping hours” levels of capability. I don’t mind, and even enjoy, poking at the guts of things when I have the time and energy, but I don’t want to be required to do a week of research to figure out what the terms in the “how to install” documentation mean.

So — I don’t suppose that anyone knows of my magical unicorn blogging software actually existing anywhere?

📚 River of Blood by Kevin Ryan

65/2022 – ⭐️⭐️⭐️

A strong conclusion to the trilogy, culminating in an all-out battle between invading Klingons and Starfleet defenders on a starbase that takes up the majority of the book. Something of the literary equivalent of the final act CGI battle of any given Marvel movie. The threads wrap up satisfyingly well, with a few nicely placed ties to future events and characters. Though I rated each standalone book at three stars, taken together, the trilogy as a whole is definitely above average for Trek novels. (Though all books do suffer from occasional typos missed in the editing passes; in this one, the starbase’s first mention is given the designation Starbase 43, but in the next paragraph it becomes Starbase 42 and remains there for the rest of the book.) Also, keep an eye out on the character names — many throughout the series are named for notable people in Trek’s real-world past.

Michael holding River of Blood

🎥 Glass Onion

Glass Onion (2022): ⭐️⭐️⭐️⭐️⭐️: A good twisty mystery, a perfect cast, and a hilarious script. Absolutely excellent, across the board. Daniel Craig is so much more watchable as Benoit Blanc than as James Bond, Janelle Monaé is flawless, Ed Norton as Elon Musk is perfect…the whole thing, really. Just excellent.

And has probably my favorite line from anything I’ve watched recently: “It’s a dangerous thing to mistake speaking without thought for speaking the truth.”

🎥 Elvis

Elvis (2022): ⭐️⭐️⭐️: On the one hand, it’s my least favorite of Baz Lurhmann’s projects. On the other hand — I still liked it; even a “least favorite” Baz Luhrmann is still pretty good.

Pros: As always, the music and the visuals. Within the first five seconds, it’s obvious that this is a Baz Lurhmann film, and it doesn’t let up. I’ll definitely be looking up the soundtrack; as can be expected from one of Baz’s films, there are some really neat blends of Elvis’s songs with contemporary sounds.

(Admittedly, much of the above could be a con rather than a pro, if Baz’s style doesn’t work as well for you as it does for me.)

Con: I’m not entirely convinced it really had to be nearly three hours long. As much as I like Baz, that’s a lot of Baz to sit through. While it’s not quite his longest — Australia gets that prize by six minutes — it is his longest music-focused film. I definitely think he works better when constrained to about two hours or less…or has the space to really make a longer format work, as he did with the TV series The Get Down.

As I continue to think about this, I wonder if part of why this one didn’t rank as high for me is that part of what I love about Baz’s work is how incredibly good he is at using music as a palette, and taking all sorts of different artists, genres, and styles, blending them, mashing them up, and creating something new.

Where here, because it was all focused on a singular artist, there wasn’t as much of that. While I enjoy Elvis, the tracks that stood out to me the most and that I’m most interested in finding on the soundtrack were those that combined his music with the blues and country influences and with modern pop beats and rhythms.

Maybe — for me, at least — focusing on a single artist actually worked against the film, because it didn’t allow Baz to do some of what he does best.

Cross-posting from WordPress to Mastodon

I’ve finally got WordPress to Mastodon cross-posting working the way I want: automatically, whether I’m posting through the WordPress web interface or through a desktop or mobile client like MarsEdit or the WordPress mobile app, and with the format that I want:

Title: Excerpt (#tags)

Full post on Eclecticism: URL

I’d been using the Autopost to Mastodon plugin, which works great, and I can recommend it — as long as you only or primarily post using the WordPress web interface.

However, the plug-in is only triggered when publishing a post through the WordPress web interface. Any time I posted through a client, nothing went to Mastodon. So I either had to go into the web interface and manually trigger an update to the post with the “Send to Mastodon” option checked, or just skip out on using anything but the web interface at all, which I’m not a fan of (especially on mobile).

I’d asked the plug-in author, and they’ve said that this is just the way it is.

So I put out a call for help on Mastodon, and got some kind tips from Elephantidae, who pointed out the Share on Mastodon plugin. This looked promising, as its documentation specifically mentions being able to configure it to work with externally created posts. However, looking through the docs made it clear that most of this plugin’s configuration, including changing the format of the text it sends to Mastodon, is done through adding and tweaking PHP functions…and as with most of my coding knowledge, my PHP knowledge is roughly at the “I can usually get a vauge idea of what it’s doing when I read the code, but actually creating something is a whole different ballgame” territory. Plus, dumping PHP code into my theme’s files risks losing those changes the next time the theme files are updated.

Retaining the code through theme updates can be managed through creating a site-specific plugin, however — a handy trick which, somewhat amusingly, I’d never had exactly the right combination of “I want to do this” and “how do I do it” in the past to discover until now.

So, after a bit of fumbling around with the Share on Mastodon plugin documentation and figuring out the right PHP and WordPress function calls, here’s what I’ve ended up adding to my site-specific plugin:

/* Tweaks for the Share on Mastodon plugin */

/* Customize sharing text */

add_filter( 'share_on_mastodon_status', function( $status, $post ) {
  $tags = get_the_tags( $post->ID );

  $status = get_the_title( $post ) . ": " . get_the_excerpt( $post );

  if ( $tags ) {
    $status .= " (";

    foreach ( $tags as $tag ) {
        $status .= '#' . preg_replace( '/\s/', '', $tag->name ) . ' ';
        }

    $status = trim( $status );  
    $status .= ")";
    }

  $status .= "\n\nFull post on Eclecticism: " . get_permalink( $post );
  return html_entity_decode( $status );
  return $status;
}, 10, 2 );

/* Share if sent through XML-RPC */

add_filter ('share_on_mastodon_enabled', '__return_true');

/* End Share on Mastodon tweaks */

And after a few tests to fine-tune everything, it all seems to work just the way I wanted. Success!

(Also, re-reading through this, I’ve realized that since I like to give the background of why and how I stumble my way through things, I end up writing posts that are basically a slightly geekier version of the “stop telling me about your childhood vacations to Europe and just post the damn recipe!” posts that are commonly mocked. And I don’t even have ad blocks all over my site! At least I’m not making you click through several slideshow pages of inane chatter before I get to the good stuff. My inane chatter is easy to scroll through.)

📚 Killing Blow by Kevin Ryan

64/2022 – ⭐️⭐️⭐️

As with many mid-points of trilogies, not quite as strong as the first, though still better than average. Some flashback scenes are written in with the main narrative and occasionally mildly confusing when scenes switch between present and past battles, and there are a few unfortunate typos swapping similarly named characters. Once those are accounted for, though, a decent enough middle chapter.

Michael holding Killing Blow.

📚 The Edge of the Sword by Kevin Ryan

63/2022 – ⭐️⭐️⭐️

TOS events as seen trough the eyes of a disguised Klingon operative serving as part of the Enterprise’s security crew. On the one hand, it’s a combination of common tropes: the outsider/enemy coming to understand humanity through living among them and a “lower decks” view of life on a starship. On the other hand, it’s done quite well, without being too “wink-wink, nudge-nudge, remember this bit?” when the book’s events intersect with known missions. A good start to the trilogy (or hexology, I suppose, as there is another trilogy following the events of this one).

Michael holding The Edge of the Sword.

Don’t ever stop talking to each other

This is a long rant by Cat Valente – and it’s really, really good. Though I’m quoting a particularly good bit from the end, it’s worth reading the whole thing.

Don’t ever stop talking to each other. It’s what the internet is really and truly for. Talk to each other and listen to each other. But don’t ever stop connecting. Be a prodigy of the new world. Stand up for the truth no matter how often they take our voices away and try to replace the idea of reality with fucking insane Lovecraftian shit. Don’t give up, don’t let them have this world. Love things. Love people. Love the small and the weird and the new.

Because that’s what fascists can’t do. They don’t love white people or straight people or silent women or binary enforced gender or forced birth or even really money. They want those things to be the only acceptable or even visible choices, but they don’t love them. They don’t even want to think about them. They want them to be automatically considered superior and universally mandated so they don’t have to think about them—or else what do you think the fury over other people wearing masks was ever about? The need to be right without thinking about it, and never have to see anything that wakens a spark of doubt in their own choices.

Obey, do not imagine, do not differ.

That’s nothing to do with love. Love is gentle, love is kind, remember? They need the attention being terrible brings them, but they don’t love it any more than a car loves gas. Sometimes I don’t even think they love themselves. Sometimes I’m pretty sure of it. They certainly never seem happy, even when they win. Musk doesn’t seem happy at all.

Geeks, though. Us weird geeks making communities in the ether? We love. We love so stupidly hard. We try to be happy. We get enthusiastic and devote ourselves to saving whales and trees and cancelled science fiction shows and each other. The energy we make in these spaces, the energy we make when we support and uplift and encourage and excite each other is something people like Musk can never understand or experience, which is why they keep smashing the windows in to try and get it, only to find the light they hungered for is already gone. Moved on, always a little beyond their reach.

📚 Joy to the Worlds by Maia Chance, Janine A. Southard, Raven Oak, and G. Clemans

62/2022 – ⭐️⭐️⭐️

Eight tales of holiday-themed speculative fiction mysteries by four authors, all from the Seattle area (at least at the time of publication, according to their bios), each contributing two stories. Space Santa and the mob, time traveling through Germanic folklore, a retro-future pageant mystery…quite a few of the offering here were very enjoyable. G. Clemans’ ‘Bevel & Turn’ and Raven Oak’s ‘The Ringers’ were my particular favorites.

Michael holding Joy to the Worlds