************************************************************************ 
	0.0 OVERVIEW: A FAST & EASY EXAMPLE
************************************************************************ 
This system allows you define a master CSS file and then generate 
variations on this. The master file is the Template, the variations are 
Themes. 

Think mail-merge for CSS.

A Template is just a regular CSS document that has some properties that 
can be changed to create Themes. 

Here's an example. Let's say we have a simple design:

body{
	background-color: #fff;
	color: #0f0;
	font-family: verdana, helvetica, arial, sans-serif;
	font-size: 11px;
}

You want to to have five variations of this design, just changing the 
background and text colors. You'd turn this simple design into a 
Template by defining variables like this: 


body{
	background-color: #@body_bgcolor;
	color: #@body_fontcolor;
	font-family: verdana, helvetica, arial, sans-serif;
	font-size: 11px;
}

You save this file as "my-template.css".

To make your Theme variations you'll then create an XML document like 
this: 

<?xml version="1.0" encoding="utf-8"?>
<themes>
	<template>my-template.css</template>
	<theme name="Red" id="1">
		<info>
			<displayname>Red</displayname>
		</info>
		<vars>
			<body_bgcolor>64655d</body_bgcolor>
			<body_fontcolor>ccc</body_fontcolor>
		</vars>
	</theme>
</themes>

That's it.


************************************************************************ 
1.0 CSS TEMPLATES
************************************************************************ 

-----------------------------------------------------------------------
1.1 VARIABLES
-----------------------------------------------------------------------
Variable names can be what ever you want provide that they:

	1. begin with at-character: "@"
	2. contain one or more additional characters 
	3. allowed characters are a-z, 0-9, dash and underscore "-" and "_"
	
-----------------------------------------------------------------------
1.2 DIRECTIVES
-----------------------------------------------------------------------
Often themes are exactly the same EXCEPT... 

So if you want to have a single Template file that adapts to special 
needs of some Themes just add conditional logic using directives: 

#ifdef SAMPLE_SETTING
/* this rule gets emitted only if "SAMPLE_SETTING" 
	is defined for a particular theme.
*/
p{
	color: #0f0;
}
#endif

There are two directives presently: "if defined" (ifdef) and "if NOT 
defined" (ifndef):

	#ifdef  identifier
		newline [group]
	#endif

	#ifndef identifier
		newline [group]
	#endif

	
*** TIP #1 ***
If you prefer to not see the directives just bury them within comments:

/* #ifdef comments_alternate_pics
alternating comments */
div.commentsModule ul.moduleList li.odd .user { 
	float: right; 
}
/* #endif */
	

*** TIP #2 ***
If the number of rules within a conditional block starts to get large 
consider moving the CSS to a new file and using an #include. (do not put 
the include within a comment). 

/*	#ifdef square_modules	*/
#include inc-square-modules.css
/*	#endif	*/


-----------------------------------------------------------------------
1.3 INCLUDES
-----------------------------------------------------------------------
Sucks the contents of a file into the Theme.

-----------------------------------------------------------------------
1.4 COMMENTS
-----------------------------------------------------------------------
Often you'll want to document the CSS Template but you would not want 
these comments to be released with the merged CSS. You can. Just mark 
your comment as a "Theme Developer Comment" thusly: 


/*///

		THIS WILL GET REMOVED WHEN THE TEMPLATE'S
		CSS IS MERGED TO MAKE THEMES.
		
		DOCUMENT YOUR CODE.
		
		ESPECIALLY DIRECTIVES!!!!!!!!
		-----------------------------
		
///*/


************************************************************************ 
2.0 THEME XML
************************************************************************ 


************************************************************************ 
3.0 MERGING THE FILES
************************************************************************ 



