X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=src%2Fmkws-handlebars.js;h=27975cd1b48baf255c9f70b037be6dc420cfe0c3;hp=606dc101aab452d35cf4ab5c99ff80ffb57f60d6;hb=8075369ec49fde2321be3dc4265ff7016a86481d;hpb=058ce4a204a9ce4d63b2d319037f60cd9f94ff1b diff --git a/src/mkws-handlebars.js b/src/mkws-handlebars.js index 606dc10..27975cd 100644 --- a/src/mkws-handlebars.js +++ b/src/mkws-handlebars.js @@ -81,6 +81,31 @@ Handlebars.registerHelper('mkws-first', function(items, options) { }); +var _urlRegexp = /^(https?:)?\/\//; +Handlebars.registerHelper('mkws-best-url', function(items) { + for (var i in items) { + var item = items[i] + if (item.match(_urlRegexp)) { + mkws.debug("'" + item + "' *is* a URL"); + return item; + } + mkws.debug("'" + item + "' is not a URL"); + } + return ""; +}); +Handlebars.registerHelper('mkws-other-urls', function(items) { + var res = []; + for (var i in items) { + var item = items[i] + if (item.match(_urlRegexp)) { + res.push(item); + } + } + return res; +}); + + + Handlebars.registerHelper('mkws-commaList', function(items, options) { var out = ""; @@ -97,6 +122,10 @@ Handlebars.registerHelper('mkws-index1', function(obj) { return obj.data.index + 1; }); +Handlebars.registerHelper('mkws-indexplus', function(delta, obj) { + return obj.data.index + delta; +}); + Handlebars.registerHelper('mkws-repeat', function(count, options) { var out = ""; for (var i = 0; i < count; i++) { @@ -143,7 +172,8 @@ Handlebars.registerHelper('compare', function (lvalue, operator, rvalue, options '>': function (l, r) { return l > r; }, '<=': function (l, r) { return l <= r; }, '>=': function (l, r) { return l >= r; }, - 'typeof': function (l, r) { return typeof l == r; } + 'typeof': function (l, r) { return typeof l == r; }, + 'matches': function (l, r) { return l.match(r); } }; if (!operators[operator]) {