Тема: Snakeskin
Показать сообщение отдельно
  #16 (permalink)  
Старый 19.06.2013, 11:51
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Добавил поддержку закрытия директив через / , как в 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) Также улучшу и задокументирую некоторые нестандартные фичи, о которых сейчас знаю только я

В остальном будет исправление известных ошибок и написание новых тестов.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 19.06.2013 в 12:12.
Ответить с цитированием