Skinr's main purpose is to allow the theme to define a set of reusable and modular CSS styles, and to make those styles available in Drupal's UI. Skinr was developed for themers to allow them to tap into the power of Drupal's modularity and apply those same principals to theme development. It does not provide any styles of its own. These styles are defined in the .info file of the theme (or subtheme), by the themer and end up in various places in Drupal's UI, such as:
It also provides a CSS class field, where you can manually add custom classes.
Who should use this module?
Here are a few examples, though there are many more possibilities.
- You are a themer looking to dramatically reduce the size and bloat of your CSS files.
- You want to be able to apply the same CSS across blocks, panel panes, views, nodes and comments.
- You are developing a theme for a client and want the client to have more flexibility and access to a multitude of existing styles, after you've completed the project and handed it off.
- You are a contrib theme developer who wants to provide multiple styles and allow the site administrator to be able to choose where to apply them.
- You are a rebel who wants to rip out CSS classes in every possible template file and use your own instead, but need a better way to add your own classes back to Drupal.
Module developers can take advantage of Skinr using its API. Detailed documentation on how to do this is included in skinr.api.php, skinr_ui.api.php, and skinr_context.api.php.
Join our Group
Join the Skinr group on groups.drupal.org.
About Skinr 2
Read about the awesome new features in Skinr 2.
6.x-2.x NOTE: There are lots of changes in the new version. Backup your entire site before doing anything. It is STRONGLY recommended that you do NOT use this on production sites at this point.
8.x-2.x NOTE: This version is under heavy development. The base Skinr module and Skinr UI module work, but might have some issues with caching (clear cache when in doubt). Skinr Context and Skinr Panels do not work yes, and since Context module might not get ported, we'll have to find a different solution.