|
|
|
@ -52,7 +52,7 @@
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
templates.getBlock = function(template, block) {
|
|
|
|
|
return template.replace(new RegExp("[\\s\\S]*<!--[\\s]*BEGIN " + block + "[\\s]*-->[\r\n]*([\\s\\S]*?)[\r\n]*<!--[\\s]*END " + block + "[\\s]*-->[\\s\\S]*", 'g'), '$1');
|
|
|
|
|
return template.replace(new RegExp("[\\s\\S]*(<!--[\\s]*BEGIN " + block + "[\\s]*-->[\r\n]*[\\s\\S]*?[\r\n]*<!--[\\s]*END " + block + "[\\s]*-->)[\\s\\S]*", 'g'), '$1');
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function express(filename, options, fn) {
|
|
|
|
@ -151,7 +151,9 @@
|
|
|
|
|
template = checkConditional(template, '!' + namespace + 'length', !array[key].length);
|
|
|
|
|
|
|
|
|
|
var regex = makeRegex(key),
|
|
|
|
|
block = templates.getBlock(template, namespace.substring(0, namespace.length - 1));
|
|
|
|
|
block = namespace.substring(0, namespace.length - 1).split('.').pop();
|
|
|
|
|
|
|
|
|
|
block = template.replace(new RegExp("[\\s\\S]*<!--[\\s]*BEGIN " + block + "[\\s]*-->[\r\n]*([\\s\\S]*?)[\r\n]*<!--[\\s]*END " + block + "[\\s]*-->[\\s\\S]*", 'g'), '$1');
|
|
|
|
|
|
|
|
|
|
if (typeof block === "undefined") {
|
|
|
|
|
return template;
|
|
|
|
@ -253,7 +255,7 @@
|
|
|
|
|
continue;
|
|
|
|
|
} else if (obj[key] === null) {
|
|
|
|
|
template = replace(template, namespace + key, '');
|
|
|
|
|
} else if (obj[key].constructor === Array) {
|
|
|
|
|
} else if (obj[key].constructor === Array && obj[key].length) {
|
|
|
|
|
template = parseArray(template, obj, key, namespace + key + '.', bind);
|
|
|
|
|
} else if (obj[key] instanceof Object) {
|
|
|
|
|
defineParent(obj[key], originalObj);
|
|
|
|
@ -281,6 +283,7 @@
|
|
|
|
|
// clean up all undefined conditionals
|
|
|
|
|
template = setBindContainer(template.replace(/\s*<!-- ELSE -->\s*/gi, 'ENDIF -->\r\n')
|
|
|
|
|
.replace(/\s*<!-- IF([\s\S]*?)ENDIF([\s\S]*?)-->/gi, '')
|
|
|
|
|
.replace(/\s*<!-- BEGIN([\s\S]*?)END([\s\S]*?)-->/gi, '')
|
|
|
|
|
.replace(/\s*<!-- ENDIF ([\s\S]*?)-->\s*/gi, ''), bind);
|
|
|
|
|
|
|
|
|
|
template = setBindContainer(template, bind);
|
|
|
|
|