snakeskin
Version:
Компилятор блочных шаблонов c поддержкой наследования.
103 lines (82 loc) • 6.05 kB
Markdown
# Snakeskin
Snakeskin — компилятор блочных шаблонов c поддержкой наследования.
[](http://badge.fury.io/js/snakeskin)
[](https://david-dm.org/kobezzza/snakeskin)
[](https://travis-ci.org/kobezzza/Snakeskin)
[](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>
Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и
сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»),
безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование,
копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или
продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное
Программное Обеспечение, при соблюдении следующих условий:
Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или
значимые части данного Программного Обеспечения.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ,
ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И
ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О
ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ,
ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ
ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.