Предлагаю в данном посте добавить свои примеры необычного использования столь простого компилятора, а так же идеи его развития.
Вот мой:
Как с помощью 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>