Screenshot of skin selection form listing different available skins

Skins for Drupal 8+ makes it possible for themes to ship with one or more "Skins", each of which supports much of the functionality of a sub-theme. Skins supports:

  • Adding, removing, or altering libraries.
  • Per-skin templates, so that for example a skin can override templates from any other layer, including the theme that provides the skin.

Modules may also provide skins and there is an event triggered that allows modules to alter existing skins or add new ones.

Use case

One of the use cases for Skins is producing flexible themes for use with Drupal distributions.

A challenge of distribution development is that certain elements - in particular, blocks - are dependent on the specific theme installed. If a distribution-based site selects to use a sub-theme, the original blocks that ship with the distribution may not work as expected.

Using Skins rather than sub-themes makes it possible to ship with diverse designs while using a single theme.

Supporting organizations: 

Project information

Releases