changeset 26:fb23f3c854df

added new format for tamplates
author nickolay
date Sun, 10 Dec 2017 14:10:21 +0300
parents c2a7d21175ce
children aee8ea860e9b
files src/implab/text/template-compile.js
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
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());
             }