В SS 4.2 будут введены внешние вызываемые блоки, по аналогии с внешними прототипами:
- block foo->calc(a, b) - a + b - template foo() - call blocks.calc(1, 2) Также, как и внешние прототипы, такие блоки можно будет указывать до декларации самого шаблона. |
Опубликовал roadmap SS 5
ЗЫ: т.к. для версионирования используется semver, то цифра 5 просто означает внесение некоторых несовместимостей с версией 4.1, но они минимальны. |
Немного дополнил roadmap.
Вообще SS 5 практически не вводит новых фич, а улучшает старые, например, макросы можно будет задавать по шаблону регулярки, а не только простым текстом, а в функции замены будет передавать найденный шаблон - это позволит делать штуки вроде: $D:%d.%m.%Y -> 15.09.2014 По сути, макросы - это упрощённые и облегчённые прототипы. PS: Если есть какие хотелки, то не стесняйтесь :) |
Новости с полей :)
Сегодня в рамках работы над SS 5 сделал новый параметр компилятора и режим рендеринга, теперь вместо stringBuffer введён параметр renderMode: *) stringConcat - шаблон возвращает строку, для конкатенации строк используется оператор + *) stringBuffer - шаблон возвращает строку, для конкатенации строк используется класс Snakeskin.StringBuffer (из коробки простой Array с push / join) *) dom - шаблон возвращает document fragment и рендерится как последовательность вызова DOM API, но есть некоторые ограничения: 1) Нельзя использовать директиву doctype (на самом деле я просто хз, как её императивно создать :D) 2) Для создания тегов обязательно использовать директиву tag (очень не хочется писать отдельный парсер самой разметки), т.е. - template foo() <h1>Hello</h1> отобразится как текст, а не разметка. А вот так: - template foo() < h1 :: Hello уже как разметка. |
Начал подбираться к SS. Полез в доки и малясь подфигел - их там тонны! Довольно подробно)
Но есть пара вопросов: 1. как на клиенте использовать шаблоны хранящиеся в *.ss? В доках только про Ноду нашёл. 2. SS такой толстый, не отразится ли это на скорости компиляции? Фич-то всё больше и больше. SS уже не шаблонизатор, SS уже ЯП, нафиг! *Епифанцев.jpg* |
Цитата:
http://www.youtube.com/watch?v=wVt_L...ature=youtu.be Вообще кейзов использования несколько: 1) Runtime-компиляция шаблонов; 2) Прекомпиляция шаблонов и последующие использование как простого JS; 3) Генерация статических страниц, аля Github Pages. Но компилить шаблоны на стороне клиента не стоит, т.к. придётся тащить 14к строк кода транслятора + дополнительная нагрузка на трансляцию, лучше подключать уже скомпиленный шаблон и юзать его, в доке есть и описания и видео про это. Цитата:
Не отразится, SS не только самый функциональный движок шаблонов, но и один из самых быстрых. К тому же трансляция делается только один раз. |
kobezzza,
Цитата:
Цитата:
спасибо за подробный ответ) Кстати, как там плагин для Галпа поживает?) |
Цитата:
Цитата:
Цитата:
|
Вложений: 1
kobezzza,
Цитата:
Цитата:
А когда планируешь 5 релиз, не напомнишь? |
Цитата:
Цитата:
Цитата:
Можно следить за этом разработки: https://github.com/kobezzza/Snakeskin/issues |
Часовой пояс GMT +3, время: 21:23. |