Design

It’s been a longstanding goal of WordPress to allow users to customize their website design. Many themes and an assortment of page builders have taken that quite a long way. The push now for front end editing will take it even further. I’m a big supporter of giving the users the ability to control every element, but I’m also a realist in understanding the design controls are rarely for the vast majority of websites published. Most often, the design is analyzed, scrutinized, and overworked by either staff, a board, or some other folks for the first three months of a new build and then forgotten until a site editor has a request for a new element.

I like to take a moderate approach. I like to provide carefully unified the design elements like the block patterns, blocks, and color scheme so that the site editors can rely on a consistent design, but I only like for the theme to provide a limited set of typography and color options to help keep it consistent. The theme is designed to have complete customization in pre-production so that after it’s published, the site retains a consistent design them.

I primarily use either the Bootstrap or TailWindCSS front end libraries to accomplish the majority of the basic website elements because they are so widely tested and offer range of customizations. These are chosen in the site build process by installing the NPM packages. I’ve started this theme using Bootstrap and much of the associated templates depend on the library. I’ll add more front end CSS libraries as I find time. I also prefer to rely on the WordPress core blocks and the associated CSS files for design. Although I try to accommodate page builders with a generous amount of wiggle room, they often add a redundant amount of features and styles. Part of the approach of this theme is to be able to concatenate all of the JavaScript and CSS into just several files.

I’m mostly just trying to model the options available in the theme with this documentation. It’s a work in progress. Here are several of the design related pages: