# TooBasic: Skins
## What are skins for __TooBasic__?
Throughout many frameworks, _skins_, also called _themes_ are an important topic
because it provides a way to change and enhance the look and feel of a site, even
in some cases provides the flexibility for users to choose the way they want to
see your site.
Let's have an example of this, if you visit
[Bootswatch.com](http://bootswatch.com/), you'll find a site that provide several
styles for [Bootstrap](http://getbootstrap.com/) based pages and it only depends
on which CSS file it uses.
This is a simple example of the power of changing a stylesheet on your site.
But the idea of _skins_ doesn't stop there, it may also include changes in the
structure of your HTML templates.
For this reason, __TooBasic__ provides the mechanism we're going to explain below.
## How to create a skin
Creating a skin for your site is almost as simple as creating a folder.
The first thing you have to do is to create a folder at __ROOTDIR/site/skins__ and
call it with the name for your skin, let's say __myskin__.
Inside it, you can create a structure similar to this:
You can also create this same structure inside a module, for example inside
__ROOTDIR/modules/mymodule/skins/myskin__ (if your module is called __mymodule__),
and it will be considered when __myskin__ skin is active.
If you're wondering, you don't need to create all those folders, only those you
## Different style
Let's say your site looks good either with light or dark colors and you are
thinking about using that as skins.
Let's also say that the structure may be the same, but the stylesheet to use has
to change entirely between skins.
To achieve this, we propose this structure:
First one for your light colored and default skin, and the second for the dark
Also ensure that your CSS inclusion looks like this allowing __TooBasic__ to paste
the right URI:
snippets, etc. with different contents in your skins.
Even modules can specify the way they want to be seen under certain skins.
## How to activate a skin
We've been talking about creating a skin, but we haven't said how to see it
working, in other way, activating it.
Well, there are three way in which a skin can be seen:
### URL specified
There's a debug URL parameter you can add to you URL call `skin` that will force
your page to consider the specified skin when rendering your page.
This mechanism has the highest priority when choosing a current skin.
### By configuration
If you decide to configure a specific skin for your site, you can achieve this by
specifying it this way in your site's configuration file:
## Multiple sites
If you're using more than one __TooBasic__ site in your PHP server, and we thank
you for that ^o^ , you may run into some issues when selecting a skin on one
This may happen because the session data depends on the connection and not on the
page being requested.
To avoid these collisions you may set a specific suffix for the value store in
your session that is different for each __TooBasic__ site.
To do so, you must add something like this in your site's configuration file: