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

Сообщение от melky Посмотреть сообщение
kobezzza, а правильно ли я понял, что синтаксис будет Jade-подобный ?
Он будет опциональным, т.е. старый никуда не денется и будет также использоваться совместно в тех местах, где это удобно. Ну а что касаемо самого синтаксиса, то он он будет очень похожим на Jade, но всё же другим в нюансах: это логично, т.к. возможностей у Snakeskin на голову выше и синтаксис должен все их покрывать.

ЗЫ: я решил проблему соответствия файла шаблона с скомпилированным файлом, так что можно будет делать умный кеш

ЗЫЗЫ: таки будет Snakeskin 4, а не Snakeskin 3.4, т.к. было внесено 2 ломающих изменения:

1) Изменён синтаксис директивы attr

Раньше было
<div {attr 'class', 'foo bar'} {attr '-bar', 'foo'}


Стало
<div {attr 'class' => 'foo', 'bar'; '-bar' => 'foo'}


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

2) Изменение работы модификатора контекста @ внутри with блока

Раньше было
{with foo}
    {a + @bar} /// foo.a + bar
{/}


Стало
{with foo}
    {@a + bar} /// foo.a + bar
{/}


Т.е. теперь если у идентификатора нет модификатора контекста, то он считается глобальным, а раньше было наоборот. Это нововведение было сделано, чтобы стал доступен следующий синтаксис:

{with foo}
    {@['a']} /// foo['a']
    {@[1 + 'bar']} /// foo[1 + 'bar'] и т.д.
{/}
__________________
kobezzza
code monkey

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