Download Size md5 hash
hexagon-7.x-2.x-dev.tar.gz 85.4 KB 9067a5399ea162b02a30b65a6cd3f1d9 104.51 KB 3fca0f676f411acb9b62d2d521a7c26c
Last updated: September 30, 2013 - 22:57
Last packaged version: 7.x-2.0-beta1+6-dev

Release notes

Work in progress development notes

This is a development branch for Drupal 7 and a major rewrite of Hexagon base. Plug-ins and sub-themes have been removed for the time being. They will be added back in taking advantage of the new foundation.

The main purpose behind this theme has not changed. It provides a flexible underlying framework for building custom themes. Extra features can be implemented in reusable plug-ins and it provides a consistent way of overriding various files and components. Although there are many facets to theming with Hexagon, they work together as a consistent whole that makes it very easy to manage. It also serves site builders by providing a way to enable and disable functionality through prebuilt plug-ins.

@todo: This is just an outline. Details will be filled and eventually be moved into the docs included with the theme.



Hexagon is a starting point for building well organized and structured themes. It is a system within the Drupal theming system. At its core, it does not provide any functionality that your site visitors will notice. There are no user configurable options, no extra widgets to fiddle with, no differences whatsoever when rendering the page. What it does provide is the ability to abstract and reuse solutions to recurring theming problems.

There are no base themes that are suited for all projects. Hexagon is no different, but its ability to abstract implementation details and the ability to disable unneeded solutions makes it a good candidate for most projects.

This abstraction happens through plug-ins. They are close equivalents to the themes they are hosted in. They can contain their own theme functions, variable process functions, templates and much more. Hexagon base provides the framework while extra plug-ins will continually be evaluated and added making it even more powerful.

Hexagon goals:

  • Provide a way of keeping theming code organized and manageable.
  • Provide functionality that is not coupled to any specific theme, i.e., write for reusability.
  • Extend on known theming concepts from the core theming system and apply them to other areas.
  • Make most of the add-on functionality opt-in. Don’t make assumptions on what the theme developer wants or needs. Get out of the way!

Although Hexagon is intended for theme developers, it can be a great starting point for others with less theming experience. Going forward, more plug-ins will be made available. Simply dropping in or activating an included plug-in is a lot easier than finding code snippets and figuring out where to paste them. And for the plug-ins that implement feature toggles, all that’s needed is a simple checkbox in the theme settings form to get it working.

Base Features

This section will cover Hexagon base features. It is intended for theme developers. You should have a strong grasp of the core theming system.

Plug-in System


Basic Requirements

Themes vs. Plug-ins

Theming Hooks

Alter Hooks





Included Plug-ins

View change notices for this release
Nightly development snapshot from branch: