-------------------------------------------------------------------
-------------------------------------------------------------------
Template Maker
-------------------------------------------------------------------
-------------------------------------------------------------------

Performs a "mail merge" on input (CSS) Template and input XML settings file (Themes)
Writes merged files to ouput directory.

Controlled by "config.php"

-------------------------------------------------------------------
Revisions
0.27
	- sort themes (on ID) when rewriting XML
	- abort if duplicate theme ids!
0.26
	- add cleanup step, strip empty comments frequently left by directives /*  */
	- developer's comments in theme /*/// ... ///*/
0.9
	- #include directive
0.7
	- importer
0.6
	- XML for settings changed from:
			<fixed_bg_img>on</fixed_bg_img>
		to:
			<setting name="fixed_bg_img" value="on" />
	- custom css parsing CDATA fixed.
	- #ifndef (not defined) directive
	- colorize comments
	- append custom CSS to bottom of merged file
0.5
	- first template directive added: #ifdef
0.4
	- changed XML format, moved variables under vars node
0.3
	- Call theme by name or id (tester)
	- option to delete rules for missing variables
	- source directory for theme XML and templates
	- add template to XML
	
0.2
	- Add Save 
	- Ignore "@font-face" in Template files.
	- Changed allowed variables names to allow dash, now allows:
			a-z, 0-9, "-", "_"
	- Tweaked demo index.php to further separate PHP from HTML
	- Die on missing input files (instead of warn).
	- Added demo page

0.1 First version



-------------------------------------------------------------------
TO DO / WISH LIST:
	- the regex for directives, not respecting the beginning and ending line characters
	- add Designer & website to header
	- check for balanced if/endif's not working again
	- parse include file for @vars, too
	- allow #include "filename";
	- embed color swatch note in head of merged CSS
	- would be really nice to have #if (setting == "value") and else and elsif
	- template defaults: <default name="varname" value="defaultvalue" />

-------------------------------------------------------------------
Conditional Chunks of CSS akin to C:

conditional-directive ::=
	#if     constant-expression
		newline [group]
	#ifdef  identifier
		newline [group]
	#ifndef identifier
		newline [group]
	#else
		newline [group]
	#elif   constant-expression
		newline [group]
	#endif

