X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-handlebars.js;h=66c9f1cc8d423b33e70f40bfb6404cf63e356b4f;hb=126a6e32d80a2e14f1c1a6af7f36129b0b3a7bdd;hp=58c95a18b30e28e15c759ccf5078ae242ce517d5;hpb=084846fd874a094a8c5e70bee766d07e5b69e1b1;p=mkws-moved-to-github.git diff --git a/src/mkws-handlebars.js b/src/mkws-handlebars.js index 58c95a1..66c9f1c 100644 --- a/src/mkws-handlebars.js +++ b/src/mkws-handlebars.js @@ -1,26 +1,30 @@ // Handlebars helpers + Handlebars.registerHelper('mkws-json', function(obj) { - return $.toJSON(obj); + return $.toJSON(obj); }); +// This is intended to handle paragraphs from Wikipedia, hence the +// rather hacky code to remove numbered references. +// Handlebars.registerHelper('mkws-paragraphs', function(obj) { - var acc = []; - for (var i = 0; i < obj.length; i++) { - acc.push('

', obj[i], '

'); - } - return acc.join(''); + var acc = []; + for (var i = 0; i < obj.length; i++) { + acc.push('

', obj[i].replace(/\[[0-9,]+\]/g, ''), '

'); + } + return acc.join(''); }); Handlebars.registerHelper('mkws-translate', function(s) { - return mkws.M(s); + return mkws.M(s); }); // We need {{mkws-attr '@name'}} because Handlebars can't parse {{@name}} Handlebars.registerHelper('mkws-attr', function(attrName) { - return this[attrName]; + return this[attrName]; }); @@ -31,41 +35,41 @@ Handlebars.registerHelper('mkws-attr', function(attrName) { * array has a subelement called NAME2. */ Handlebars.registerHelper('mkws-if-any', function(items, options) { - var having = options.hash.having; - for (var i in items) { - var item = items[i] - if (!having || item[having]) { - return options.fn(this); - } + var having = options.hash.having; + for (var i in items) { + var item = items[i] + if (!having || item[having]) { + return options.fn(this); } - return ""; + } + return ""; }); Handlebars.registerHelper('mkws-first', function(items, options) { - var having = options.hash.having; - for (var i in items) { - var item = items[i] - if (!having || item[having]) { - return options.fn(item); - } + var having = options.hash.having; + for (var i in items) { + var item = items[i] + if (!having || item[having]) { + return options.fn(item); } - return ""; + } + return ""; }); Handlebars.registerHelper('mkws-commaList', function(items, options) { - var out = ""; + var out = ""; - for (var i in items) { - if (i > 0) out += ", "; - out += options.fn(items[i]) - } + for (var i in items) { + if (i > 0) out += ", "; + out += options.fn(items[i]) + } - return out; + return out; }); Handlebars.registerHelper('mkws-index1', function(obj) { - return obj.data.index + 1; + return obj.data.index + 1; });