Over the past two months have been working on our own WordPress starter theme called Create (that’s why we have been a bit absent from the blog). Before Create we used a combination of the Roots and Underscore’s starter themes. Both are created themes and are supported by great developers. Unfortunately, neither really fit our workflow and our future theme goals. Let’s take a look at some of the features that Create currently has, and some of the future features we look to add.
Managing packages have become increasingly popular because it helps save time when getting the latest version of elements that we include. For example, we base our responsive themes off of the Bootstrap framework. Going to their site, downloading, unzipping, copying, pasting, and calling the file in the theme can take a bit of time when starting from scratch. Right now our package manager grabs all of our theme dependencies by running one command.
Task runners are like the turbochargers to package management. Wouldn’t it be cool to run a command and automatically compile all those resources into one combined and optimized file? Well, we can do that too. We first used Grunt but quickly swapped it out for Gulp as Gulp had greater flexibility for our needs. As it stands, the task runner copies our components into the theme (leaving behind any unnecessary files), then it rewrites some of the directories included in the files (for example we move the fonts into their own component directories), and then we concatenate, compile, and minify our js and (LESS to CSS). This leaves us with one js and one less file.
Blocks is a future project that we will be adding to our WordPress theme. The goal of blocks is to enhance how content creation happens in the WordPress page editor. Right now you are either limited by the content editor, or you are stuck working with cumbersome short-codes. Blocks will add additional visual editors to the editor that will power complex but easy to create layouts.
The theme customizer is a WordPress feature that allows things like fonts, colors, and other elements to be edited and previewed in real-time. The goal is to allow users to modify theme appearance without the hassle of having us re-develop the code controlling their desired edits. This will also allow us to deploy color changes in iterative development faster.
Our goal is this – to create a theme framework that embraces default WordPress functionality while empowering users to create stunning websites. So far we are off to a great start. Stay tuned over the next several weeks as we add more compelling functionality. If you’re into code, check out Create on GitHub.