🆕 blog! “A personal WordPress MonoRepo for my themes and plugins”
I use a self-built WordPress theme for this blog. I also use a variety of self-developed WordPress plugins for various enhancements. I used to publish these plugins, but I get terribly confused by the SVN shenanigans involved, and they weren't used by many people, so I stopped. Recently, I'v…
I use a self-built WordPress theme for this blog. I also use a variety of self-developed WordPress plugins for various enhancements. I used to publish these plugins, but I get terribly confused by the SVN shenanigans involved, and they weren't used by many people, so I stopped.
Recently, I've been moving all my plugin code into my theme. This is sort-of-but-not-quite a MonoRepo.
I've also tried to move away, as far as possible, from using other people's plugins. Most of the ones I had were single-shot plugins which did one thing and needed the minimum amount of configuration. So I learned from their code and re-implemented it into my theme.
This isn't quite digital-homesteading. I'm not rolling my own crypto, or building my own CMS. I'm just taking back a little control, learning how things work, and enjoying the busy-work of Digital Gardening.
I don't know if this is a good idea. It means I don't get security updates if my knock-off code is vulnerable. I don't get new features. But I also don't have to trust that a 3rd-party developer isn't going to screw up (I can screw up on my own, thank-you-very-much!). I've had a few bad experiences with plugins which suddenly stopped working, or had abusive behaviour.
I put new functionality into a file with a descriptive name, for example related-posts.php and I save it in my-theme/includes/.
In my WordPress's theme, I add this to functions.php:
// Load all the files$includes_path = get_template_directory() . "/includes/";foreach ( new DirectoryIterator( $includes_path ) as $fileInfo ) { if( $fileInfo->isDot() ) continue; // Ignore . and .. if( $fileInfo->getExtension() != "php" ) continue; // Only load PHP require_once( get_template_directory() . "/includes/" . $fileInfo->getFilename() );}
That loads all the .php files from /includes/.
I have no idea how performant this is. I have some fairly aggressive caching plugins which should minimise any slowness - and they're not part of my MonoRepo.
phew super geeky weekend project success—installed a pfsense-based router in my home network for more granular control over devices, with network-wide ad blocking with AdGuard Home #yakshaving
Bike Shedding and Yak Shaving: The dynamic duo that might just trip you up on your filmmaking journey. In this post, we talk about what they are, and how indie filmmakers can steer clear of distractions to stay focused on their cinematic dreams.
It's batshit that #Excel doesn't quote CSV exports by default (yes, I know the standard says "may" and not "must" and, yes, you can make custom export templates but what a pain in the ass).
(This is all you need to know about how my day is going)
I'm getting more and more frustrated with the Stack Exchange policy of bringing old questions to the top.
A question that is 4 years old, with no resolution and no follow up doesn't need to surface in front of me like a big overly-fluffy yak - if it intrigues me or I feel I can help, I will try to shave it.
I'll often only spot it's old once it's too late. I need fewer distractions! 🙈
Perhaps I should slip further down the "participating less" slope, but that feels bad too.
Oh boy, I didn't expect #Matrix to be such a pain! So now I can successfully write messages to that one group channel from one PC, but when written from another PC they cannot be decrypted by others. I could start debugging this; but that's yet another layer of yak shaving :-(
Seriously, can we maybe go back to IRC? Trying to find out who can read which Matrix message in a channel that's about a wholly different topic is not even funny any more.
Like yak-shaving and dogfooding among software developers circles, cat-herding is a colourful idiom common in community development circles.
Consider that we're all fiercely independent beings. Like cats! So in the absence of a formal decision-making structure that everyone has agreed to follow, trying to get people to all pull in the same direction, to achieve shared goals, can be like herding cats.
No offence is meant to any human beings (or cats!)