UNPKG

snakeskin

Version:

Компилятор блочных шаблонов c поддержкой наследования.

213 lines (137 loc) 7.17 kB
## v6.4.0 - [x] [Упрощение вызова шаблонов в шаблоне](https://github.com/kobezzza/Snakeskin/issues/14); - [x] [Добавлена поддержка анонимных самовызываемых прототипов](https://github.com/kobezzza/Snakeskin/issues/13); ``` - template foo(myData) - proto (data) => myData ... - if data.children - apply &(data.children) ``` - [x] [Добавлена поддержка анонимных липких ссылок](https://github.com/kobezzza/Snakeskin/issues/12); - [x] [Реализован механизм замыканий для экспорта глобальных переменных из вложенных файлов при наследовании](https://github.com/kobezzza/Snakeskin/issues/10); - [x] Доработан механизм наследования параметров трансляции: общие параметры теперь наследуются тоже; **base.ss** ``` @= localization false - template base() `foo` ``` **index.ss** ``` - include './base.ss' - template index() extends base ``` ``` `foo` ``` - [x] Добавлена новая директива `callBlock`, которая является сахаром для `call blocks.`; - [x] Новые короткие формы записи: * `apply``+=`; * `call``^=`; * `callBlock``~=`. - [x] Добавлена ссылка `$0`, которая указывает на активный DOM элемент (только для `renderMode = 'dom'`); ``` < .b-foo < .&__cell ? console.log($0) /// <div class="b-foo__cell"> (HTMLDivElement) ? console.log($0.parentNode) /// <div class="b-foo"> (HTMLDivElement) ? console.log($0) /// <div class="b-foo"> (HTMLDivElement) ? console.log($0) /// undefined ``` - [x] Фильтр `bem` теперь принимает 3-й параметр `node`, который ссылается на активный DOM узел (если таковой есть); - [x] Добавлен параметр `bemFilter`; - [x] Исправление ошибок и рефакторинг. ## v6.3.2 - [x] Исправление ошибки и рефакторинг. ## v6.3.1 - [x] Исправление ошибки. ## v6.3.0 - [x] Интерполяция тега: ``` < .b-foo.&_${isActive ? 'active_true': ''} ``` ```html <div class="b-foo b-foo_active_true"></div> ``` - [x] Липкие ссылки: ``` < .b-button < .&__content[.&_focus_true] ``` ```html <div class="b-button"> <div class="b-button__content b-button__content_focus_true"></div> </div> ``` - [x] Единый формат экспорта; - [x] Сортировка имён шаблонов при слепом запуске; - [x] Исправление ошибок и рефакторинг. ## v6.2.0 - [x] Исправление ошибок и рефакторинг; - [x] Доработка механизма макросов; - [x] Папка `build` переименована в `dist`. ## v6.1.3 - [x] Исправление ошибки. ## v6.1.2 - [x] Различные исправления ошибок. ## v6.1.1 - [x] Исправление ошибки. ## v6.1.0 - [x] Добавлена поддержка маски для директивы `include`. ## v6.0.6 - [x] В конце сгенерированного текста всегда ставится символ переноса строки. ## v6.0.5 - [x] Различные исправления ошибок. ## v6.0.4 - [x] Различные исправления ошибок. ## v6.0.3 - [x] Различные исправления ошибок. ## v6.0.2 - [x] Исправление ошибок в CLI API. ## v6.0.1 - [x] Различные исправления ошибок. ## v6.0.0 - [x] Параметр `.commonJS` заменён на `.exports = 'commonJS'`; - [x] Параметр `.xml` заменён на `.doctype`; - [x] Добавлен параметр `.lineSeparator`; - [x] Добавлен параметр `.replaceUndef`. ## v5.1.10 - [x] Различные исправления ошибок. ## v5.1.9 - [x] Исправлена ошибка при переопределении параметров трансляции в дочернем шаблоне. ## v5.1.8 - [x] Обновлена версия `Escaper` в сборке. ## v5.1.7 - [x] Исправлена ошибка с генерацией `:inline` узла в `renderMode = 'dom'`. ## v5.1.6 - [x] Исправление ошибок в механизме экранирования спецсимволов. ## v5.1.5 - [x] Исправлена ошибка node.js кеша при подключении файлов. ## v5.1.4 - [x] Изменено сообщение об успешной операции в CLI API. ## v5.1.3 - [x] Исправлена ошибка при удалении файла в режиме `--watch`. ## v5.1.2 - [x] Исправления мелких ошибок. ## v5.1.1 - [x] Исправлена ошибка в методе `returnMainTpl`. ## v5.1.0 - [x] Добавлен новый флаг трансляции `tolerateWhitespace`; - [x] Добавлен псевдокласс `:inline` для директивы `tag`; - [x] Переработан механизм обработки пробельных символов. ## v5.0.0 - [x] Удалена директива `ignore`, а функциональность вынесена в настройки трансляции; - [x] Добавлена директива `setSSFlag` для управления настройками трансляции из шаблона; - [x] Доработка системы модулей; - [x] Добавлена поддержка внешних блоков; - [x] Добавлен режим трансляции в императивный DOM; - [x] Удалён флаг `stringBuffer`, добавлен флаг `renderMode` с параметрами: `stringConcat`, `stringBuffer`, `dom`; - [x] Удалён флаг `interface`, добавлен флаг `renderAs` с параметрами: `placeholder`, `interface`, `template`; - [x] Доработка директивы include: добавлена поддержка модификаторов `as interface` и `as placeholder`; - [x] Добавлена поддержка функций в качестве замены строк-локализации; - [x] Добавлена директива `cdn`; - [x] Добавлена поддержка `arguments` для прототипов; - [X] Доработано CLI API: * добавлена поддержка работы с папками; * добавлен флаг `--watch` для автоматической перекомпиляции шаблонов.