Download hexagon-7.x-2.x-dev.tar.gztar.gz 85.4 KB
MD5: 9067a5399ea162b02a30b65a6cd3f1d9
SHA-1: be6a6a295976eecfbb40161f484cbcf07329d467
SHA-256: c3b86cb8cc46d45211f3388d54e45431ac92a14b1b8721ffc05092e81c629778
Download hexagon-7.x-2.x-dev.zipzip 104.51 KB
MD5: 3fca0f676f411acb9b62d2d521a7c26c
SHA-1: ce2534e3f394201f00c833a97637677529e40624
SHA-256: c1305d5fff666f82f34648faa2d911c7fdd3b66ecb29be4c24be2d5e80332bb9
Install with Composer: $ composer require 'drupal/hexagon:2.x-dev'
Using Composer to manage Drupal site dependencies

Release info

Created by: dvessel
Created on: 3 May 2011 at 01:21 UTC
Last updated: 6 Jul 2016 at 20:22 UTC
Core compatibility: 7.x
Release type: New features

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


The selected release is the release that will be used for automated testing. Optional projects are only used for testing.


No required projects


No optional projects