Self-Hosted Image Gallery Recommendations?

A lazyweb question: Is there decently modern web image gallery software anywhere?

I’d like to move away from Flickr in favor of self-hosting my photo galleries. But so far all the packages I’ve found are…well, they tend to look and feel (both on the backend admin side and the frontend public gallery side) like they haven’t been updated in the past decade or more.

Admittedly, sometimes this is because that’s exactly the case…which also doesn’t make me want to download them. But sometimes they’re still apparently under active development, but still look and feel like early-2000s projects.

Software I’ve installed, poked at, thought “mmm…well…maybe…”, and looked on to see what else I could find:

  • Piwigo is under active development (last release three weeks ago) but has rather sparse documentation if you’re not a developer building plugins, and needs config file editing just to display more than the most basic image metadata.
  • Zenphoto is also under active development (last release a month ago), but appears to be gearing for a more major update…which could be good, but there’s no indication of when that will happen, and much of the current installation (like every one of the default themes) has a “this has been deprecated” warning. So it doesn’t seem worth investing time into getting it up and running and populated if the current version is soon to be end-of-lifed, with who knows what sort of compatibility with the next version.

Things I’ve looked at but not downloaded:

  • 4Images may or may not be under active development; the last update was in November of ’21.
  • Coppermine‘s last update was in 2018…but the two before that were in 2013 and 2010, so who knows if it’s still active or not.
  • Gallery at least admits it’s dead; it points to Gallery Revival, which hasn’t been updated since November of ’21.
  • Pixelpost: “tldr: This project is abandoned, and has known security issues, use at your own risk.”
  • TinyWebGallery: I can’t quickly figure out when it was last updated, but the header graphic advertises “Flash uploaders”, and there are too many ads for online casinos on that page for me to bother digging around any further.

I’d like to stop giving Flickr money (I have nothing particularly against them, but at this point, I have nothing particularly for them either; their website doesn’t “give me joy”, and when embedding photos, the alt text is just the image title, not even the image comments, let alone any option to add true alt text), and I simply don’t trust Google enough to drop all my images into their systems. I’ve played with SmugMug as well, but again, I’d like to be able to self-host, not pay.

I’m a little surprised that this is such a sparse field, but I suppose that Flickr and Google Photos are “good enough” for most people these days, so there’s not a big market for people like me: a tech-savvy hobbyist photographer who’s not particularly interested in relentlessly pursuing monetization.

Recommendations would be appreciated if I’ve missed something worth investigating. As it is right now, though, I’m guessing my best bet will be to see what I can manage with either Piwigo or ZenPhoto.

Bring Back Blogging

Monique Judge at The Verge, in “Bring Back Personal Blogging“:

In the beginning, there were blogs, and they were the original social web. We built community. We found our people. We wrote personally. We wrote frequently. We self-policed, and we linked to each other so that newbies could discover new and good blogs.

I want to go back there.

Hard agree. This blog got its start in the mid-’90s — the earliest “post” I can still verify was on December 29, 1995, and though it now lives in this blog, was originally a hand-coded entry on a static “Announcements” page — back before “blogging” was even a term. In fact, it wasn’t until February 8, 2001 that I first discovered the word “blog”.

So there’s a lot of what Monique writes about that I remember very clearly. And I miss a lot of it. Which seems kind of funny to say, because in a lot of ways, it really hasn’t ever completely died, but the shift to social media definitely impacted the blogging world.

I’m hopeful (if not optimstic) that just maybe the issues at Twitter, the rise of Mastodon, and the general upheaval in online spaces will actually lead to something of a resurgence of people writing for themselves and in their own spaces.

Buy that domain name. Carve your space out on the web. Tell your stories, build your community, and talk to your people. It doesn’t have to be big. It doesn’t have to be fancy. You don’t have to reinvent the wheel. It doesn’t need to duplicate any space that already exists on the web — in fact, it shouldn’t. This is your creation. It’s your expression. It should reflect you.

Bring back personal blogging in 2023. We, as a web community, will be all that much better for it.

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?

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.)

In Search of a MarsEdit Equivalent for iOS

A question for macOS WordPress bloggers who use Red Sweater Software’s excellent MarsEdit: What’s your go-to mobile iOS blogging tool?

MarsEdit is a great example of a “do one thing and do it really well” piece of software, and I’ve yet to find anything equivalent for mobile blogging. I just want exactly what MarsEdit gives me: A list of my most recent posts and pages, a solid plain-text Markdown editor, and access to all the standard WordPress fields and features.

Every other editor I’ve tried either doesn’t do one or more of those things or is otherwise not quite right in some way. Ulysses was the closest and I tried it for a while, but while it’s a great editor, it doesn’t pull a list of posts and pages from the blog, just works with whatever’s local or in its own cloud sync or Dropbox or whatever, and last time I used it, had a bug where alt text wasn’t getting applied to images correctly.

(The WordPress native app drives me up the wall. I don’t want block editing. I want text and Markdown.)

Really, what I want is an iOS version of MarsEdit. But failing that: any recommendations?

Change is Good

Thanks to the latest horrible thing to fall out of Bill Maher’s mouth, I’ve just added a disclaimer to my On This Day page and to the top of every post that is more than two years old noting that the post may not reflect my current beliefs.

I sincerely believe that learning, growing, examining, and often changing beliefs is an integral part of being a responsible human being. My personal journey socially and politically has been ever leftwards, and there are many posts in the archives that I would not write the same way today, if at all.

Things I know exist in my archives that I would not write today:

  • General mockery of Britney Spears for no real reason other than being a pop queen. (Which, honestly, she’s very good at.)
  • Very suburban-white-background “I listen to all kinds of music except country and rap” sentiments. Lots of at-the-time unexamined racism and classism in those statements, plus they were never really all that true (classic country and “acceptable” rap were always part of my listening habits).
  • Probably a fair amount of other statements with then-unexamined ableism, classism, racism, sexism, homophobic, or transphobic aspects or roots.

I’m sure there is a lot more; those are just the ones that pop into my head because I’ve come across them at one point or another recently while digging into my archives.

I’ve always considered myself to be open-minded and politically liberal, and while that’s true, the older I get, the more I have realized how many ingrained societal biases still exist within that basic framework. Working through those biases, recognizing them, and endeavoring to change them is an ongoing process, and one I hope I never give up on. It’s not always comfortable; it is always necessary.

Blog This Shortcut for iOS or macOS

Blog This shortcut button image I’ve been working for the past few days on constructing a Shortcut to use for quickly sending a link and block of text to whatever blogging software I’m using on whichever device I’m on at the moment. As of today, I’ve hit a point where it does everything I wanted it to when I started playing, so I’m designating this an official “version one” release (for posterity’s sake, I suppose I can refer to the prior two versions as the alpha and beta releases).

The Shortcut is now cross-platform, with many thanks to Jason Snell for giving me exactly the final pieces I needed.

Selecting some text on a webpage and then using the Share Sheet on iOS or the Services menu on macOS will grab the webpage link and the selected text, convert it to Markdown format, convert any relative URLs in the selected text to absolute URLs, and then place the final text into a new Ulysses sheet on iOS or MarsEdit post on macOS, all ready for any final edits before publishing to your blog.

If this shortcut might be of use to you, either as-is or with some modifications for your particular needs, download, tweak if necessary, use, and (hopefully) enjoy!

Blog This service menu item on macOS MarsEdit window with shortcut output text

On This Day: Dec 31

Since I hit 20 years of blogging this November, this year I’m posting a daily list of anything I published on this day in the past.

There are 30 posts previously published on December 31st

  • 2023
    • Year 50 Day 243 Happy New Year, everyone. I even dressed up for the occasion.
    • 2023 Reading Round-Up 📚 Every year, I set myself a goal of reading at least 52 books over the course of the year; this year I read 74. Here’s a quick (?) overview…
  • 2022
  • 2021
  • 2020
  • 2019
    • 📚 sixty-two of 2019: Enterprise, by Vonda N. McIntyre. ⭐️⭐️⭐️ An earlier look at Kirk’s first mission after talking command of the Enterprise. Very different characterizations of the crew—and the Klingons—than what we now know…but then, it was 1986. 🖖
    • No Comparison: Remembering “Star Trek: The Motion Picture” on its 40th Anniversary: “For those of us who get it, Star Trek: The Motion Picture is a spectacular swing for the fences. And for those of you who don’t get it, it’s your frakkin’ loss.” 🖖
    • Cyberdyne Systems | Speculative Identities: A deep dive into the Terminator universe’s Cyberdyne Systems from a graphic design/branding/iconography point of view.
    • 2019 Reading Round-Up 📚 A look back at the books I've read this year
    • Ramones Time 2020, 24 hours to go
  • 2018
    • 2018 Reading Round-Up Every year, I set myself a goal of reading at least 52 books over the course of the year — an average of one a week. This year I made it to 60 (plus getting started on what will be my first book of 2019). Here's a quick overview…
    • I’m not closing my account, and will likely keep checking in on occasion to see what my friends post. But I think it’s time for me to stop uploading to Instagram.
  • 2016
    • Good Riddance, 2016 2016 is done. 2017 is here. Let's make it ours.
    • My #2016bestnine – very #Lego-centric! Let’s see…me in my #geek #coexist shirt, me in my little #goth Lego boy costume, my Lego goth couple, my @cardsagainsthumanity Trump bug-out bag (which was funnier pre-election), Lego minifigs, the Lego #StarWars carbon freezing chamber, another shot of my costume, my mother-in-law using a real paper map, and the ... Read more
    • Book sixty of 2016: Ancillary Mercy, by Ann Leckie. ⭐️⭐️⭐️⭐️ (366/366) This also marks the culmination of my silly little selfie-a-day project for the year! I considered trying to come up with something particularly creative or silly for the final photo, but in the end, decided that just another of the usual photos would be ... Read more
  • 2015
    • It got cold last night – depending on which source we check, Eburg is somewhere between 5° and -3° this morning. The hoarfrost on everything is really pretty, though.
  • 2014
    • The Interview Thanks to the world's weirdest advertising campaign, we watched a dumb comedy that we'd otherwise have had no interest in. And in the end? Yes, dumb, but we've definitely seen far worse, and there were some laughs to be had.
    • MLK on “inconvenient” protests I have almost reached the regrettable conclusion that the Negro’s great stumbling block in his stride toward freedom is not the White Citizen’s Counciler or the Ku Klux Klanner, but the white moderate, who is more devoted to 'order' than to justice…
  • 2012
    • End of 2012 Well, a fair amount went on in my life this year...not that you'd know from this blog.
  • 2008
    • Happy New Year! However you are celebrating (or have celebrated) the new year, enjoy it, and here's hoping we all have a good 2009!
  • 2007
    • Wrapping up 2007 A little under eight hours left to go in the year, and as I look back, most of what stands out in my mind is just how incredibly _busy_ this past year has been, for Prairie and for myself. That's not to say it's been a bad year, but we just _never_ seemed to stop moving.
  • 2005
    • Happy New Years Eve Looks like the plan is for Prairie and I to have dinner and rest for a bit, grab showers, and then head downtown to hit the Noc No along with gracesine, rainfromheaven...and whoever else may show up.
  • 2003
    • eWeek best and worst of 2003 Forget about all this selling your soul to the devil crap -- he's so incompetent, he couldn't even get a wish to be 'famous' right, and I ended up with 'infamous' instead. Can I get a refund on this deal?
    • Trouble in Georgetown As I got off the bus and started walking down the street, I heard a little commotion in one of the alleyways to my left. Looking over, I saw a young lady frantically running down the alleyway, coat open, trying to keep her footing in the fresh snow.
  • 2002
    • Exhausted Ugh...this sucks. I was supposed to be at work early today, so I could leave early (all that New Years stuff), so I set my alarm for 8:30am and went to bed.
    • Oh yeah All in all, a very enjoyable trip. Except for the 15 degree below zero weather. Ugh. I am so not moving back to Alaska. Ever.
    • Weblog publishing systems Just a quick test here — the new beta version of NetNewsWire Pro has a weblog editor built in. Not bad, seems to handle things alright, and it is handy having the weblog editor built into the newsreader.