lib/template.js
function(objArg,language){
	this.language = language;
	this._plugins = this.language.coreTags.slice();
	var metaData = objArg.metaData,
		metaArr = metaData.split(/\n+/),
		i = metaArr.length,
		reMeta = /([^=]+)(={1})(.*)/,
		meta,name,value,keys,l;
	if(metaData.length > 0){
		while(i--){
			if(/^\s+$/.test(metaArr[i])) continue;
			meta = reMeta.exec(metaArr[i].trim());
			name = meta[1].toLowerCase().trim();
			value = meta[3].trim();
			if(_Object.reIdentifier.test(name) && meta[2] === '='){
				if(name === this.language.other("plugins")){
					this._plugins = this._plugins.concat(value.toLowerCase().split(','));
					continue;
				}
				switch(name[0]){
					case '\\':
						this._metaData[name.slice(1)] = new _Template({rawString:value,executeOnce:true,metaKey:name.slice(1)},this);
						break;
					case '#':
						break;
					default:
						this._metaData[name] = new _Template({rawString:value,executeOnce:false},this);
				}
			}
		}
	}
	this._master = true;
	this.onFinishCompiling = objArg.onFinishCompiling;
	_registerPlugins.call(this);
}
function(objArg,language){
	this.language = language;
	this._plugins = this.language.coreTags.slice();
	var metaData = objArg.metaData,
		metaArr = metaData.split(/\n+/),
		i = metaArr.length,
		reMeta = /([^=]+)(={1})(.*)/,
		meta,name,value,keys,l;
	if(metaData.length > 0){
		while(i--){
			if(/^\s+$/.test(metaArr[i])) continue;
			meta = reMeta.exec(metaArr[i].trim());
			name = meta[1].toLowerCase().trim();
			value = meta[3].trim();
			if(_Object.reIdentifier.test(name) && meta[2] === '='){
				if(name === this.language.other("plugins")){
					this._plugins = this._plugins.concat(value.toLowerCase().split(','));
					continue;
				}
				switch(name[0]){
					case '\\':
						this._metaData[name.slice(1)] = new _Template({rawString:value,executeOnce:true,metaKey:name.slice(1)},this);
						break;
					case '#':
						break;
					default:
						this._metaData[name] = new _Template({rawString:value,executeOnce:false},this);
				}
			}
		}
	}
	this._master = true;
	this.onFinishCompiling = objArg.onFinishCompiling;
	_registerPlugins.call(this);
}
--module--
name:_instantiateMetas
description: instantiates meta data for template,
then registers plugins.