Somehow, in between building new websites for clients, maintaining plugins, supporting sales, and performing site maintenance, we managed to build a new theme for our own websites. Yay!
It’s been something like four years since we gave these websites a refresh, and it was well and truly time for it. In the time between then and now, we’ve seen a lot of changes to how we build websites — the biggest probably being the block editor and Twig templates.
The WordPress block editor changed our approach to some things. For one, we’ve given up hope of CSS multicolumn ever performing well in enough browsers, and now use the columns block. For another, we build blocks instead of shortcodes now, simplifying many custom tasks. Using the block editor has changed how many page templates we need to create for a typical website now.
Timber is another revolutionary change for us. Being able to use Twig templates with inheritance to build a theme has massively simplified our tasks. It also helps maintain consistency across the theme. And it works well with custom blocks, custom post types, custom post meta, and plugins.
Sass has come a long way too. We now have modules and namespaces, and I dare anyone to tell Carol she’s not a programmer after looking at the modular Sass source to any of our recent websites, complete with functions and data structures like lists and maps. CSS is programming, and Sass doubly so.
We’ve kept JavaScript to a minimum in the new theme. HTML5 and CSS3 provide enough, with just a little pure JS to keep it interactive. I think the only jQuery in there is for interacting with script in other plugins that use it, too, so we’re light on asset loads.
We try to keep things accessible — for keyboard users, for screen readers, for colour blindness — but we’re still focused on the tech so still lots of jargon. Not much we can do there, it’s us!
Now that the theme is out of the way, I’m hoping to get a few more blog posts done again. Between the block editor, Twig, Timber, some Django things I’ve been doing, and the ever present challenge that is CSS, there’s a rich vein to be tapped in our past work. Time permitting!