From e93d1a9ef2c31ec8ff30850d22cbae6064cdb9d1 Mon Sep 17 00:00:00 2001 From: "Vadim M. Bryshev" Date: Sun, 13 Jan 2013 01:18:43 +0400 Subject: [PATCH] Fix if/else if/else error --- ect.min.js | 4 ++-- lib/ect.js | 8 ++++---- package.json | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ect.min.js b/ect.min.js index b12eeb8..a60f8b6 100644 --- a/ect.min.js +++ b/ect.min.js @@ -1,5 +1,5 @@ /*! - * ECT CoffeeScript template engine v0.4.2 + * ECT CoffeeScript template engine v0.4.3 * https://github.com/baryshev/ect * * Copyright 2012, Vadim M. Baryshev @@ -16,4 +16,4 @@ * Copyright 2007-2012 Steven Levithan * Released under the MIT license */ -(function(){"use strict";var fs,path,CoffeeScript,ECT=function(options){if(!(this instanceof ECT))return new ECT(options);var ect=this;this.options={open:"<%",close:"%>",ext:"",cache:!0,watch:!1,root:""};var trimExp=/^[ \t]+|[ \t]+$/g,newlineExp=/\n/g,cache={},watchers={},indentChars={":":":",">":">"},escapeExp=/[&<>"]/,escapeAmpExp=/&/g,escapeLtExp=//g,escapeQuotExp=/"/g,regExpEscape=function(e){return String(e).replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1")},parse=function(template){var lineNo=1,bufferStack=["__ectOutput"],bufferStackPointer=0,buffer=bufferStack[bufferStackPointer]+" = '",matches=template.split(new RegExp(regExpEscape(ect.options.open)+"((?:.|[\r\n])+?)(?:"+regExpEscape(ect.options.close)+"|$)")),output,text,command,line,prefix,postfix,newline,indentChar,indentation="",indent=!1,indentStack=[],indentStackPointer=-1,baseIndent,lines,j,extended;for(var i=0;i>>0:s>>>0;while(l=i.exec(r)){c=l.index+l[0].length;if(c>a){o.push(r.slice(a,l.index)),!n&&l.length>1&&l[0].replace(f,function(){for(var t=1;t1&&l.index=s)break}i.lastIndex===l.index&&i.lastIndex++}return a===r.length?(h||!i.test(""))&&o.push(""):o.push(r.slice(a)),o.length>s?o.slice(0,s):o},String.prototype.split=function(e,t){return r(this,e,t)},r}(),window.ECT=ECT,CoffeeScript=window.CoffeeScript,path=function(){var e=function(e,t){var n=0,r,i;for(r=e.length-1;r>=0;r--)i=e[r],i==="."?e.splice(r,1):i===".."?(e.splice(r,1),n++):n&&(e.splice(r,1),n--);if(t)while(n)e.unshift(".."),n--;return e},t=function(t){var n=t.charAt(0)==="/",r=t.slice(-1)==="/";return t=e(t.split("/").filter(function(e){return!!e}),!n).join("/"),!t&&!n&&(t="."),t&&r&&(t+="/"),(n?"/":"")+t};return{normalize:t}}(),fs=function(){var e=function(e,t){var n;window.XMLHttpRequest?(n=new XMLHttpRequest,n.overrideMimeType&&n.overrideMimeType("text/html")):n=new ActiveXObject("Microsoft.XMLHTTP");if(n){n.open("GET",e,!1),n.send(null);if(n.status!==0&&(n.status<200||n.status>399))throw new Error("Failed to load template "+e);return n.responseText}throw new Error("Failed to load template "+e)},t=function(){};return{readFileSync:e,watch:t}}()}})(); \ No newline at end of file +(function(){"use strict";var fs,path,CoffeeScript,ECT=function(options){if(!(this instanceof ECT))return new ECT(options);var ect=this;this.options={open:"<%",close:"%>",ext:"",cache:!0,watch:!1,root:""};var trimExp=/^[ \t]+|[ \t]+$/g,newlineExp=/\n/g,cache={},watchers={},indentChars={":":":",">":">"},escapeExp=/[&<>"]/,escapeAmpExp=/&/g,escapeLtExp=//g,escapeQuotExp=/"/g,regExpEscape=function(e){return String(e).replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1")},parse=function(template){var lineNo=1,bufferStack=["__ectOutput"],bufferStackPointer=0,buffer=bufferStack[bufferStackPointer]+" = '",matches=template.split(new RegExp(regExpEscape(ect.options.open)+"((?:.|[\r\n])+?)(?:"+regExpEscape(ect.options.close)+"|$)")),output,text,command,line,prefix,postfix,newline,indentChar,indentation="",indent=!1,indentStack=[],indentStackPointer=-1,baseIndent,lines,j,extended;for(var i=0;i>>0:s>>>0;while(l=i.exec(r)){c=l.index+l[0].length;if(c>a){o.push(r.slice(a,l.index)),!n&&l.length>1&&l[0].replace(f,function(){for(var t=1;t1&&l.index=s)break}i.lastIndex===l.index&&i.lastIndex++}return a===r.length?(h||!i.test(""))&&o.push(""):o.push(r.slice(a)),o.length>s?o.slice(0,s):o},String.prototype.split=function(e,t){return r(this,e,t)},r}(),window.ECT=ECT,CoffeeScript=window.CoffeeScript,path=function(){var e=function(e,t){var n=0,r,i;for(r=e.length-1;r>=0;r--)i=e[r],i==="."?e.splice(r,1):i===".."?(e.splice(r,1),n++):n&&(e.splice(r,1),n--);if(t)while(n)e.unshift(".."),n--;return e},t=function(t){var n=t.charAt(0)==="/",r=t.slice(-1)==="/";return t=e(t.split("/").filter(function(e){return!!e}),!n).join("/"),!t&&!n&&(t="."),t&&r&&(t+="/"),(n?"/":"")+t};return{normalize:t}}(),fs=function(){var e=function(e,t){var n;window.XMLHttpRequest?(n=new XMLHttpRequest,n.overrideMimeType&&n.overrideMimeType("text/html")):n=new ActiveXObject("Microsoft.XMLHTTP");if(n){n.open("GET",e,!1),n.send(null);if(n.status!==0&&(n.status<200||n.status>399))throw new Error("Failed to load template "+e);return n.responseText}throw new Error("Failed to load template "+e)},t=function(){};return{readFileSync:e,watch:t}}()}})(); \ No newline at end of file diff --git a/lib/ect.js b/lib/ect.js index 18df3e0..5ab0d49 100644 --- a/lib/ect.js +++ b/lib/ect.js @@ -1,5 +1,5 @@ /*! - * ECT CoffeeScript template engine v0.4.2 + * ECT CoffeeScript template engine v0.4.3 * https://github.com/baryshev/ect * * Copyright 2012, Vadim M. Baryshev @@ -199,7 +199,7 @@ prefix = '\''; } buffer += prefix.replace(newlineExp, '\n' + indentation); - if (indentStack[indentStackPointer - 1] === 'if') { + if (indentStack[indentStackPointer - 1] === 'if' || indentStack[indentStackPointer - 1] === 'else') { indentStack.splice(-2, 1); indentStackPointer--; indentation = indentation.substr(2); @@ -548,11 +548,11 @@ } return output.length > limit ? output.slice(0, limit) : output; }; - + String.prototype.split = function (separator, limit) { return self(this, separator, limit); }; - + return self; }(); diff --git a/package.json b/package.json index 728e200..d36635f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name" : "ect", - "version" : "0.4.2", + "version" : "0.4.3", "description" : "CoffeeScript template engine", "keywords": [ "template", "coffeescript" ], "author" : "Vadim M. Baryshev ",