Войти с помощью github
Форум /

Предлагаю в данном посте добавить свои примеры необычного использования столь простого компилятора, а так же идеи его развития.

Вот мой:

Как с помощью BH компилировать в JST:

{
    block: 'menu',
    content: [
        { elem: 'item', content: '1' },
        { elem: 'item', content: '2' }
    ]
}
bh.match('jst', function(ctx) {
    ctx.tag(null);
});

bh.match('menu', function(ctx) {
    ctx.tag('ul');
});

bh.match('menu__item', function(ctx) {
    ctx.tag('li');
});


bh.match('menu', function(ctx) {

    ctx.content([
        { 
            block: 'jst',
            content: '<% if (true) { %>'
        },
        ctx.content(),
        { 
            block: 'jst',
            content: '<% } %>'
        },
    ], true);

});

Результат:

<ul class="menu">
<% if (a) { %>
<li class="menu__item">
1
</li>
<li class="menu__item">
2
</li>
<% } %>
</ul>