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);
}
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.
-- module -- name : _instantiateMetas description : instantiates meta data for template then registers plugins .