A lot of WordPress frameworks bundle everything you need to build a website with, ready to go out-of-the-box. Therein lies the problem; people have different types of needs. So an effort is made to provide as many options, and things as necessary, to make a generalized website possible, with little code.
It takes a lot of kruft to make that happen.
A toolkit on the other hand…a good toolkit will last a lifetime. A good tool doesn’t break. A good tool is lightweight, reliable, fast, efficient, and robust, with no confines. A good tool shouldn’t inhibit your creativity, but help flourish it. A good tool, should help you along your way.
A good toolkit should go way beyond this. And, in my opinion, should have ALL of the following, at minimum.
The parent has to be 99% unstyled. I’m talking margins, colors, padding, everything. I want full control.
The parent has to offer components that I can drop into a page template. Components like, galleries, nav elements, even queries. Components are like wrapper functions where you can pass in arguments. You can write out a query, that’s fine, but I’d personally rather use get 10 posts from a featured category with
soren_get_posts('featured', 10); rather than using 10 lines of code. Oh, and the components, they also have to be 100% unstyled.
Actions and Filters
What’s a parent if it can’t be extended? Everything must be filterable, and hookable.
Bootstrap 3 & Font Awesome
The parent has to have Bootstrap 3 and Font Awesome. At least, part of Font Awesome, a curated version, and additional added on request. I personally don’t see the need in loading hundreds of icons if you’re only going to use 3 of them. And Bootstrap? Because why not. Because I’ve been using Bootstrap to write code with since 2.0. It makes generating markup fast, and quite fun.
Live LESS Processing
This is a big one for me. The parent must have an onboard compiler. Why? Color automation (and because I write using LESS). A classic example is a link color. The user shouldn’t have to choose a hover color, along with the link color. They should just have to set one color, and the live compiler automates the other color style. This makes color relationships dynamic, preventing the user from destroying your design. Another benefit of this is fonts; I can offer users one font control, and because the font sizes are linked together dynamically, they all scale at once.
The compiler works by taking the style.less file from the theme and processing it into a css file, then caching it. This happens really, really, really fast. Remember, because the parent theme is unstyled, theres virtually no time to wait to compile. The compiler will recompile when you save a less file, or save options in the WordPress Theme Customizer.
Options panels are yesterday. The parent theme must hook into the WordPress theme customizer and the Settings API. This is the best way of doing things, and is the safest way of doing things, period. This offers users a front-end look at editing their site. Changes, including text, happen in real time. Color changes even happen, right before your eyes. Because the options are all up front, as opposed to being in an options panel, this should reduce confusion to the user.
Soren is the toolkit that I’m building. Soren has everything above, and more. I needed a really good base theme to start from to build new child themes with. A great base will make things go fast, but the base had to have a few things I felt were extremely important. Soren is about 85% done. It goes quick because there’s hardly anything there. I’ve already built 2 child themes on it. In fact you’re reading this post on the first one. The others are going to be a surprise. The layouts…are gorgeous, and take advantage of 100% of the screen real estate.
In addition to the child themes, there will be a few add-ons that will work perfectly for Soren. These will be plugins, and they’ll work in any WordPress theme; they’ll just be able to tap into the LESS system and match themselves to your already designed site.
Anyways, so ya, that’s it for now. Back to writing some code.
P.S. – Soren will be free.