Как тебе такой подход:
// about.tpl
@set about (data, value = 0) {
&.title: data.title,
&.text: value
}
// me.tpl
@set me < about (data) {
&.title: data.title
}
// index.tpl
@include about, me
@get about {
title: title 1
}
@get me ({
title: title 2
}, 1)
Будет транслированно в:
<div class="about">
<div class="about__title">
title 1
</div>
<div class="about__text"> 0 </div>
</div>
<div class="about me">
<div class="about__title me__title">
title 2
</div>
<div class="about__text me__text"> 1 </div>
</div>
Как это будет выглядеть в твоем случае?
PS:
1. div по-умолчанию, хотя можно определить любой тег, используя селекторную нотацию
h1.header
2. & означает конкатенацию (автодополнение для bem)
3. + планирется полная абстракция от тегов (web components), ну и data-binding