Добавил поддержку закрытия директив через / , как в xml. Новая версия доступна на гитхабе.
{template foo()}
{/template}
Раз уж зашла тема, скажу что в следующей версии
добавлю:
1)
Переменные. Я долго противился этому введению, пока пару раз сам не встал на грабли, когда константы не могут их заменить. В отличии от констант переменные нельзя будет явно переопределить в дочернем шаблоне, а только через переопределение родительского блока или прототипа или константы на которую переменная ссылается.
Т.е.
{template base()}
{block foo}
{var a = 1}
...
{end}
{end}
{template child() extends base}
/// Переопределяем блок и заодно переменную внутри него
{block foo}
{var a = 2}
{end}
{end}
2)
Циклы. Есть задачи, вроде: сгенерить для select-а номер года от 19.. до ныненшнего, а с итератором такое решение выглядит немного странно.
{for var i = 0; i < 10; i++}
...
{end}
вместо
{forEach new Array(10) => el, i}
...
{end}
3) Также улучшу и задокументирую некоторые нестандартные фичи, о которых сейчас знаю только я
В остальном будет исправление известных ошибок и написание новых тестов.