That’s what we thought when we started working on our own custom Drupal starter theme in July 2013. We called it “FortyTwo”.
A brief history
Before we we started working with FortyTwo, we did theming, like many others, based on the Zen or Omega base themes. It worked, it got us where we wanted, but it had its downsides. Besides Zen we also looked at Omega and other major base themes. They all had their pros but also a lot of cons.
During a talk I had with one of the frontenders at Finalist about this we started to think: Why not create our own theme. Let’s combine all of the pros from all those themes to one, and maybe add some other nifty features.
The first ever site we developed with FortyTwo, and the site that actually developed a big part of FortyTwo was the Finalist website. Back then it was a good starting point for us to develop website frontends the way we wanted to. Combined with good backend developers we could start working on good frontends.
The Finalist website as built with FortyTwo
Because we developed FortyTwo as a base theme for Drupal we could use it to create all kinds of different websites, no matter the shape or size.
Let me enumerate some of the best features FortyTwo has right now:
- SASS; FortyTwo has completely been made using the SASS css preprocessor.
- Drush integration; Easily create your sub theme using our custom drush command.
- Out of the box responsiveness; Without no effort themes developed using FortyTwo are responsive. Both adaptive or fluid. Extending the responsiveness is easy by just copying some files. Want to change the breakpoints? They are defined in the sass settings file.
- Gulp; We have added gulp support for some extra features.
- SASS watch and compiling with auto prefixes for IE8 and IE9.
- JSLint integration, while watching the theme folder the console will output errors or warnings from JSLint if there are any.
- Clearing of Drupal cache on changes in PHP, include or info files in the theme.
- And last, but not least automatic reloading of the browser on file changes.
- Icomoon integration; For easy development we have created a starter set of icomoon icons and added them to the theme. You can easily extend those icons and use theme using our custom icomoon SASS mixin.
- Layout styles; It is possible to choose different styles of layout, whether you want your content column on the left, right or the middle, it is just a setting;
- Debuggers; We have added some handy debuggers in FortyTwo:
- It is possible to show the grid on the background of the page. The grid uses the settings set in the sass settings file.
- It is possible to show a responsive identifier. This makes it easier to create responsive websites. A bar at the bottom of the website shows you on what breakpoint you currently are viewing.
The above image shows the mentioned debuggers in action.
There is more, but you have to see for yourselves what FortyTwo can offer you!
Since August 2015 we have also started developing the Drupal 8 version of the theme. Since Drupal 8 is becoming the new standard we wanted to be ready for it when it came out. On the date Drupal 8 was officially released FortyTwo was already finished and is now in active development.
I will write a separate blog about the porting of FortyTwo from Drupal 7 to Drupal 8 on a later date.
How about the future?
We are still in active development. Since the release of FortyTwo-8.x-1.0 Only bugfixes and really nice features are added to the Drupal 7 version of FortyTwo. Other new features are only added for Drupal 8.
On the roadmap are:
- KSS; Knyle Style Sheets integration. Using KSS you can automatically create style guides from CSS and SASS.
- FortyTwo admin theme; Admin themes are always difficult to pick. Because we work with a lot of clients, different kinds of content and content managers we believe that we can create a admin theme (of course based on FortyTwo) that suits the needs of everybody.
- FortyTwo example theme; Since the start of development we always wanted to create a example theme that everybody can use, out-of-the-box.
Yes, we would love to see you around on the project page and the issue queue ! We heavily depend on your input, testing and feedback, but also on your commitment as a community developer, by helping us implementing new features and fixes.