@@ -46,6 +46,8 @@ var REG_5 = />\n\s{1,}</g;
4646var REG_6 = / [ \< \w \" \u0080 - \u07ff \u0400 - \u04FF ] + \s { 2 , } [ \w \u0080 - \u07ff \u0400 - \u04FF \> ] + / ;
4747var REG_BLOCK_BEG = / \@ \{ b l o c k .* ?\} / gi;
4848var REG_BLOCK_END = / \@ \{ e n d \} / gi;
49+ var REG_SKIP_1 = / \( \' | \" / g;
50+ var REG_SKIP_2 = / \, ( \s ) ? \w + / g;
4951
5052var HTTPVERBS = { 'GET' : true , 'POST' : true , 'OPTIONS' : true , 'PUT' : true , 'DELETE' : true , 'PATCH' : true , 'upload' : true , 'HEAD' : true , 'TRACE' : true , 'PROPFIND' : true } ;
5153
@@ -1999,28 +2001,35 @@ function view_parse(content, minify, filename, controller) {
19992001
20002002 var can = false ;
20012003
2002- for ( var a = 0 , al = RENDERNOW . length ; a < al ; a ++ ) {
2003- if ( tmp . startsWith ( RENDERNOW [ a ] ) ) {
2004-
2005- if ( tmp . indexOf ( '+' ) !== - 1 )
2006- continue ;
2007-
2008- if ( ! a ) {
2009- var isMeta = tmp . indexOf ( '\'meta\'' ) !== - 1 ;
2010- var isHead = tmp . indexOf ( '\'head\'' ) !== - 1 ;
2011- tmp = tmp . replace ( / \' ( m e t a | h e a d ) \' \, / g, '' ) . replace ( / ( \, \, | \, \) | \s { 1 , } ) / g, '' ) ;
2012- if ( isMeta || isHead ) {
2013- var tmpimp = '' ;
2014- if ( isMeta )
2015- tmpimp += ( isMeta ? '\'meta\'' : '' ) ;
2016- if ( isHead )
2017- tmpimp += ( tmpimp ? ',' : '' ) + ( isHead ? '\'head\'' : '' ) ;
2018- builder += '+self.$import(' + tmpimp + ')' ;
2004+ // Inline rendering is supported only in release mode
2005+ if ( RELEASE ) {
2006+ for ( var a = 0 , al = RENDERNOW . length ; a < al ; a ++ ) {
2007+ if ( tmp . startsWith ( RENDERNOW [ a ] ) ) {
2008+
2009+ if ( tmp . indexOf ( '+' ) !== - 1 )
2010+ continue ;
2011+
2012+ // skips variables 1
2013+ if ( ! tmp . match ( REG_SKIP_1 ) || tmp . match ( REG_SKIP_2 ) )
2014+ continue ;
2015+
2016+ if ( ! a ) {
2017+ var isMeta = tmp . indexOf ( '\'meta\'' ) !== - 1 ;
2018+ var isHead = tmp . indexOf ( '\'head\'' ) !== - 1 ;
2019+ tmp = tmp . replace ( / \' ( m e t a | h e a d ) \' \, / g, '' ) . replace ( / ( \, \, | \, \) | \s { 1 , } ) / g, '' ) ;
2020+ if ( isMeta || isHead ) {
2021+ var tmpimp = '' ;
2022+ if ( isMeta )
2023+ tmpimp += ( isMeta ? '\'meta\'' : '' ) ;
2024+ if ( isHead )
2025+ tmpimp += ( tmpimp ? ',' : '' ) + ( isHead ? '\'head\'' : '' ) ;
2026+ builder += '+self.$import(' + tmpimp + ')' ;
2027+ }
20192028 }
2020- }
20212029
2022- can = true ;
2023- break ;
2030+ can = true ;
2031+ break ;
2032+ }
20242033 }
20252034 }
20262035
@@ -2046,8 +2055,8 @@ function view_parse(content, minify, filename, controller) {
20462055 builder += '+' + escaper ( text ) ;
20472056 }
20482057
2049- if ( ! framework . isDebug )
2050- builder = builder . replace ( / ( \+ \$ E M P T Y \+ ) / g, '+' ) . replace ( / ( \$ o u t p u t \= \$ E M P T Y \+ ) / g, '$output=' ) . replace ( / ( \$ o u t p u t \+ \= \$ E M P T Y \+ ) / g, '$output+=' ) . replace ( / ( \} \$ o u t p u t \+ \= \$ E M P T Y ) / g, '}' ) . replace ( / ( \{ \$ o u t p u t \+ \= \$ E M P T Y \; ) / g, '{' ) . replace ( / ( \+ \$ E M P T Y \+ ) / g, '+' ) . replace ( / ( \> \' \+ \' \< ) / g, '><' ) ;
2058+ if ( RELEASE )
2059+ builder = builder . replace ( / ( \+ \$ E M P T Y \+ ) / g, '+' ) . replace ( / ( \$ o u t p u t \= \$ E M P T Y \+ ) / g, '$output=' ) . replace ( / ( \$ o u t p u t \+ \= \$ E M P T Y \+ ) / g, '$output+=' ) . replace ( / ( \} \$ o u t p u t \+ \= \$ E M P T Y ) / g, '}' ) . replace ( / ( \{ \$ o u t p u t \+ \= \$ E M P T Y \; ) / g, '{' ) . replace ( / ( \+ \$ E M P T Y \+ ) / g, '+' ) . replace ( / ( \> \' \+ \' \< ) / g, '><' ) . replace ( / \' \+ \' / g , '' ) ;
20512060
20522061 var fn = '(function(self,repository,model,session,query,body,url,global,helpers,user,config,functions,index,output,date,cookie,files,mobile){var get=query;var post=body;var theme=this.themeName;var language=this.language;var cookie=function(name){return controller.req.cookie(name);};' + ( isSitemap ? 'var sitemap=function(){return self.sitemap.apply(self,arguments);};' : '' ) + ( functions . length ? functions . join ( '' ) + ';' : '' ) + 'var controller=self;' + builder + ';return $output;})' ;
20532062 return eval ( fn ) ;
@@ -2263,11 +2272,10 @@ function view_prepare(command, dynamicCommand, functions) {
22632272 case 'routeVideo' :
22642273 case 'routeStatic' :
22652274 return 'self.' + command ;
2266-
2267- case 'translate' :
22682275 case 'TRANSLATE' :
2269- return 'self.' + command . toLowerCase ( ) ;
2270-
2276+ return command ;
2277+ case 'translate' :
2278+ return 'self.' + command ;
22712279 case 'json' :
22722280 case 'image' :
22732281 case 'layout' :
0 commit comments