UNPKG

snakeskin

Version:

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

103 lines (82 loc) 6.05 kB
# Snakeskin Snakeskin — компилятор блочных шаблонов c поддержкой наследования. [![NPM version](http://img.shields.io/npm/v/snakeskin.svg?style=flat)](http://badge.fury.io/js/snakeskin) [![NPM dependencies](http://img.shields.io/david/kobezzza/Snakeskin.svg?style=flat)](https://david-dm.org/kobezzza/snakeskin) [![Build Status](http://img.shields.io/travis/kobezzza/Snakeskin.svg?style=flat&branch=master)](https://travis-ci.org/kobezzza/Snakeskin) [![Coverage Status](http://img.shields.io/coveralls/kobezzza/Snakeskin.svg?style=flat)](https://coveralls.io/r/kobezzza/Snakeskin?branch=master) [Онлайн-демо](http://jsfiddle.net/kobezzza/NAPWB/10/) [FAQ](https://github.com/kobezzza/Snakeskin/wiki/faq) ## Основные особенности * 2 варианта синтаксиса: классический и Jade-Like; * ОО-подход с очень богатым выбором для code-reuse (наследование, композиция, примеси и т.д.); * Близкий к JS набор директив; * Поддержка БЭМ на уровне синтаксиса; * Поддержка локализации на уровне синтаксиса; * Поддержка макросов и фильтров; * Поддержка модулей и разбиения на файлы; * Высокая скорость трансляции; * Работа в браузерах, а также на сервере ([node.js](http://nodejs.org/)); * Движок написан на чистом JavaScript и не имеет дополнительных зависимостей; * Исходный код спроектирован для совместной работы с Google Closure Compiler в продвинутом режиме; * Хорошее покрытие кода тестами; * Подробная [документация](https://github.com/kobezzza/Snakeskin/wiki) с примерами. ### Примеры использования ``` - template page(youAreUsingSnakeskin) - doctype < html lang = ru < head < title :: Snakeskin #< script if (foo) bar(1 + 5) < body < h1 :: Snakeskin — лучший шаблонный движок < #container.b-info - if youAreUsingSnakeskin < p.&__good :: Поздравляем, вы используете самое лучшее! - else < p.&__bad :: Скорее начните использовать! < p.&__description Snakeskin — это клиент-серверный шаблонный движок с простым и понятным синтаксисом и богатым набором возможностей. ``` ```js page(true); ``` Превратится в ```html <!DOCTYPE html> <html lang="ru"> <head> <title>Snakeskin</title> <script type="text/javascript"> if (foo) bar(1 + 5) </script> </head> <body> <h1>Snakeskin — лучший шаблонный движок</h1> <div id="container" class="b-info"> <p class="b-info__good">Поздравляем, вы используете самое лучшее!</p> <p class="b-info__description">Snakeskin — это клиент-серверный шаблонный движок с простым и понятным синтаксисом и богатым набором возможностей.</p> </div> </body> </html> ``` ## Лицензия The MIT License (MIT) Copyright (c) 2014 Андрей Кобец (Kobezzza) <kobezzza@mail.ru> Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий: Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения. ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.