Handlebars helper testing

by fangyang

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0.beta6/handlebars.min.js"></script>
<script id="t" type="text/x-handlebars">
    {{#times 10}}
        <span>{{this}}</span>
    {{/times}}
    <hr>
    {{#for 0 10 1}}
        <span>{{this}}</span>
    {{/for}}
</script>

CSS

span {
    float: left;
    background: #eee;
    margin: 10px;
}
hr {
    clear: both;
}

JavaScript

Handlebars.registerHelper('times', function(n, block) {
    var accum = '';
    for(var i = 0; i < n; ++i)
        accum += block.fn(i);
    return accum;
});
Handlebars.registerHelper('for', function(from, to, incr, block) {
    var accum = '';
    for(var i = from; i < to; i += incr)
        accum += block.fn(i);
    return accum;
});

var t = Handlebars.compile($('#t').html());
$('body').append(t());