Цитата:
Цитата:
|
Начал работу над 7-й версией SS.
Из планируемых фич: 1) Поддержка потоков Collection; {forEach [realBigArray] => {thread: true} => el, i} ... {onChunk => data} ... {onIterationEnd => data} ... {onComplete => data} ... {/} 2) Улучшена поддержка Angular; 3) Поддержка React; 4) Поддержка сорспамов; 5) Поддержка фильтров для входных параметров шаблонов и подшаблонов: {template foo((param1|trim), (param2|round = 1.3|round))} 6) Поддержка async / await; {template-async foo()} {await getFile()} {/} 7) Поддержка задания атрибутов в директиве tag через массив; 8) Будет улучшен способ установки параметров по умолчанию: // param = param == null ? 1 : param {template foo(param = 1)} // param = param === undefined ? 1 : param {template foo2(?param = 1)} 9) Полный перевод доки на инглишь (русская версия разумеется останется) и общая доработка доки; 10) Статья на хабр :) Ломающие изменения: 1) Будет немного изменён синтаксис tag для работы XML неймспейсами: изменния будт очень незначительны и скорее всего ничего и не сломают в большинстве случаев. *** Скорее всего работа займёт несколько месяцев. |
Забыл сказать: если есть пожелания по фичами, то прошу не стесняться)
|
kobezzza,
Цитата:
Цитата:
Цитата:
|
Цитата:
// Параметр 1 будет установлен если foo == undefined или null (т.е. сейчас так и есть) foo = 1 // Параметр 1 будет установлен если foo == undefined ?foo = 1 Цитата:
И потом я решил таки полностью довести все свои разработки до масс, т.е. перевод док, статьи и т.д. А проект никуда не денется, подумаешь, закончу на пол года позже и хрен с ним :) |
Ещё добавлю фичу, на которую меня натолкнул Gozar: при добавлении фильтра ему можно будет указать свойство unsafe, которое будет отменять фильтр html по умолчанию
Snakeskin.Filter.n2br = function (str) { str.replace(/\r?\n|\r/, '<br />'); }; Snakeskin.Filter.n2br.unsafe = true; |
Ещё есть интересная идея постфильтры, т.е. фильтры, которые применятся к результату шаблона, например,
{template foo() @= filter [Typograf(), Speller()]} Т.е. к результату шаблона будут применятся сторонние либы для типографики, проверки опечаток и т.д. |
https://github.com/kobezzza/Snakeskin/issues/24
Завёл темку на Гх, где буду складировать фичи для SS 7. *** Буду рад помощи по работе с проектом: нужен человек, которой бы причесал имеющуюся доку в вики, т.е. я имею ввиду улучшение имеющих глав, возможно их реструктуризация и т.д. |
Цитата:
1. Подключение множества вложенных шаблонов. 2. Передача параметров при наследовании во вложенные {call myContent(param)}. Где надо ставить @, а где нет. Где надо передавать param, а где нет. Почему называть надо param, обязательно нужно ли называть param. 3. Отсутствие вызова шаблона, только код шаблона(это очень важно, когда начинаешь). 4. Примеры слишком простые, нужны ещё и сложные примеры(объявление двух шаблонов в одном, подключение и наследование в другой трех и т.п.) 5. Применение фильтров было не очевидно. {el.des|br|!html}особенно в каком-нибудь {forEach @city => el} Сейчас вроде все понятно и работает, но когда начинал было довольно тяжело разобраться в этих вопросах. Даже если они и описаны где-то, то я это не увидел, по крайней мере сразу или было не очевидно. Ещё раз спасибо за такую гибкую шаблонку. По скорости пока претензий нет. Попозже попробую под нагрузкой. :) |
Цитата:
[1, 2, 3].forEach(function (el, i, data) { ... }); [1, 2, 3].forEach(function (elem, key, self) { ... }); {forEach [1, 2, 3] => el, i, data} ... {/} {forEach [1, 2, 3] => elem, key, self} ... {/} {forEach [1, 2, 3] => elem, key, self, isFirst, isLast, length} ... {/} {forEach {a: 1, b: 2} => elem, key, self, i, isFirst, isLast, length} ... {/} Спс за наводки, я сейчас подумал, что нужно добавить часть "Быстрый старт", где описать такие вещи. Цитата:
|
Часовой пояс GMT +3, время: 09:15. |