UPDATE: This post has been updated to reflect the change to Matchstix.
For the last couple of years, we have been developing the Sparks Framework as a WordPress Development Framework consisting of the theme Flint and the plugin Steel. We have continued to improve upon both Flint and Steel, and we are currently preparing a roadmap for what Flint 2.0 and Steel 2.0 will look like.
We will continue to refine Flint and Steel and hope to release a second edition of each of these in the next few months. But we have a larger vision for Sparks, as a whole.The WordPress Theme Review Team has been preaching for quite some time that certain functions and features are “plugin territory” and do not belong in themes. We largely agree and try to adhere to the standards laid out by the WordPress community.
This is why we have Flint and Steel which work best together but don’t require each other. However, because they don’t require each other, there is some redundant code and some superficial boundaries of what belongs in the theme and what belongs in the plugin.
Today, we are introducing
Matchstix is neither a theme nor a plugin but is
as much a part of the new name for the Sparks WordPress Development Framework. Matchstix will not be submitted to the WordPress Theme Repository or the WordPress Plugin Repository, and will only live on this site and on GitHub. As such, it is built for developers, not for end users.
Flint 2.0 will be built on Matchstix and will showcase all that Matchstix has to offer themes. Steel 2.0 will be built on Matchstix and will showcase all that Matchstix has to offer that is considered “plugin territory.” Theme developers will have the option to develop a child theme of Flint, or to develop a whole new theme with Matchstix. All developers will have the option to install and develop with Steel, or create a plugin of their own using only what they need from Matchstix, and nothing else.
This leads us to the next very important feature of Matchstix; it will be built with and support Package Management, starting with npm.
Here is a preview of what Matchstix has to offer:
- Bootstrap 4
- Filters! Instead of replacing WordPress Core functions, we will use filters whenever possible. And we will add filters to all our functions for better extendability.
- Improved developer documentation available at //matchstix.io/docs
- Modules: Everything in Matchstick will belong to a module, and when developing with Matchstick, you can choose which modules you want to use and which modules you do not want to use. More on this later.
- Node/npm: Get started with Matchstick by simply typing
npm install matchstix
- Travis CI integration, adding tests for PHP7
We will postpone development of Flint 2.0 and Steel 2.0 until we release Matchstick. We hope to share more details with you soon.
“Matchstick” is just the codename for this project; it will not be the final name. There is already an npm package named “matchstick,” so we would like to find a name that is not being used both on WordPress and npm. If you have any suggestions, please leave them in the comments below. One possibility is briquet. In French, briquet means (cigarette) lighter, which ignites flames and may create sparks. In English, a briquet or briquettes are placed beneath a fire and fuel the fire. Both meanings fit well with the Sparks extended metaphor.
We have chosen the name “Matchstix.”