Major changes are coming to the Roots starter theme for WordPress. Roots has appealed mainly to developers, because it incorporates modern build tools into its workflow. The theme was first released in 2011 and now counts more than 70 contributors to the project.
Roots currently utilizes HTML5 Boilerplate, Bootstrap, Grunt, and Bower in the starter theme but will will soon be moving to Gulp. The project’s GitHub repo has a Gulp branch with the relevant discussion and commits.
“Gulp is faster, has nicer configuration files, allows us to easily compile both Less and Sass to the same stylesheet, and more,” Roots creator Ben Word said, regarding the upcoming changes.
This will also include an update to Roots’ asset pipeline, which will allow theme developers to take CSS and JS from WordPress plugins and have it compiled into the single CSS and single JS files that the theme builds. The new asset pipeline brings changes to project folders, removes differences between dev and production tasks, and adds a JSON-based asset pipeline.
Build a Roots-based Theme Using Any Framework
Additionally, the starter theme will be moving away from including Bootstrap in order to become framework agnostic. “We’re going to have a Yeoman generator that will allow you to build a Roots based theme however you want,” Word said. “You’ll be able to pick from any framework, Bootstrap, Bootstrap Sass, Foundation, and more.”
“A lot of people over the years have expressed that they like Roots, but don’t like Bootstrap,” Word explained. “We’ve even seen some forks pop up (Roots Foundation, for instance) to accommodate other frameworks. By becoming framework agnostic, the starter theme should be able to appeal to a wider audience.”
Word and his team plan to have the generator ready for the public in the first quarter of 2015 and are currently working to incorporate work from other Yeoman generators.
Last year, the Roots community introduced Bedrock, a modern WordPress stack that uses Composer for managing WordPress along with Capistrano for deployment. Bedrock can be used with any theme. Since its launch, the project has struggled with branding issues. When all the new changes are merged into Roots’ master branch, Word plans to rename the starter theme and keep Roots as the organization name.
The Roots starter theme has always had a somewhat narrow audience due to the fact that it has a steeper learning curve than other starter themes. Making the change to be platform agnostic should open it up for more theme developers, but it will continue to cater primarily to those who are interested in using build scripts.
“Roots has been at a point where you can’t use it if you’re not using npm, Bower, and Grunt, and we’ve completely stopped supporting users who don’t want to adapt to the better workflow we’ve created,” Word said. “I struggled in the past with choosing to support the average Joe WordPress developer or to push for WordPress devs to learn tools that make them better at their job. Workflow efficiency is definitely the ultimate goal.”