While skins can be provided in a theme, doing so has the potential disadvantage of making the skin available only to users of that theme (or themes based off of it). Many skins may be useful in any theme, or may provide building blocks that a particular theme could customize. When producing skins, please consider first whether you can make your work generic enough to provide in a module, thereby making it available to all Drupal users.

The good news is that providing a skin in a module rather than a theme is quick and easy, even if you've never used PHP. In the steps below, we outline how to create a module for your skins. When creating your module, simply substitute occurrences of "block_skins" with a "machine name" (a name suitable for computers to read) of your choosing and change the description accordingly. Drupal module names typically are all lower case with no spaces and no punctuation except underscores (which are used to separate words).

  1. Create a new folder in your modules directory using the machine name:

    sites/all/modules/block_skins
  2. Create a block_skins.info file inside the block_skins folder and include following code inside the file:

    name = "Block Skins"
    description = "A set of skins providing configurable layout options for blocks."
    package = "Skinr"
    core = 6.x
  3. Create a block_skins.module file inside the block_skins folder and include the following code inside the file:

    <?php
    /**
    * Implementation of hook_skinr_api().
    */
    function block_skins_skinr_api() {
      return array(
        'api' => 1,
        'path' => drupal_get_path('module', 'block_skins'),
        'skins' => TRUE,
      );
    }
  4. Put your skins in a folder called skins inside your module's folder.

And that's it! You're ready to use and contribute your module, just like you would a theme. See the Drupal handbook documentation on maintaining a project on drupal.org.