Mercurial > pub > ImplabJs
diff src/implab/text/template-compile.js @ 26:fb23f3c854df
added new format for tamplates
author | nickolay |
---|---|
date | Sun, 10 Dec 2017 14:10:21 +0300 |
parents | f750c89976d3 |
children |
line wrap: on
line diff
--- a/src/implab/text/template-compile.js Fri Dec 08 04:31:43 2017 +0300 +++ b/src/implab/text/template-compile.js Sun Dec 10 14:10:21 2017 +0300 @@ -5,7 +5,7 @@ // разбивает строку шаблона на токены, возвращает контекст для // дальнейшей обработки в visitTemplate var parseTemplate = function (str) { - var tokens = str.split(/(<%=|<%|%>)/); + var tokens = str.split(/(<%=|\[%=|<%|\[%|%\]|%>)/); var pos = -1; var data = [], code = []; @@ -63,9 +63,11 @@ while (context.next()) { switch (context.token()) { case "<%": + case "[%": visitCode(context); break; case "<%=": + case "[%=": visitInline(context); break; default: @@ -78,7 +80,7 @@ function visitInline(context) { var code = ["$p.push("]; while (context.next()) { - if (context.token() == "%>") + if (context.token() == "%>" || context.token() == "%]") break; code.push(context.token()); } @@ -89,7 +91,7 @@ function visitCode(context) { var code = []; while (context.next()) { - if (context.token() == "%>") + if (context.token() == "%>" || context.token() == "%]") break; code.push(context.token()); }