1 | # Snakeskin
|
2 |
|
3 | <img src="http://kobezzza.com/files/snakeskin/logo.svg?1" alt="Snakeskin" width="190" />
|
4 |
|
5 | *This is Frank, a snake-cowboy who loves templates.*
|
6 |
|
7 | ---
|
8 |
|
9 | Snakeskin is an awesome JavaScript template engine with the best support for inheritance.
|
10 |
|
11 | [![NPM version](http://img.shields.io/npm/v/snakeskin.svg?style=flat)](http://badge.fury.io/js/snakeskin)
|
12 | [![NPM download](https://img.shields.io/npm/dm/snakeskin.svg?style=flat)](http://badge.fury.io/js/snakeskin)
|
13 | [![Join the chat at https://gitter.im/SnakeskinTpl/Snakeskin](https://badges.gitter.im/SnakeskinTpl/Snakeskin.svg)](https://gitter.im/SnakeskinTpl/Snakeskin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
14 |
|
15 | [![Build Status](http://img.shields.io/travis/SnakeskinTpl/Snakeskin.svg?style=flat&branch=master)](https://travis-ci.org/SnakeskinTpl/Snakeskin)
|
16 | [![Coverage Status](http://img.shields.io/coveralls/SnakeskinTpl/Snakeskin.svg?style=flat)](https://coveralls.io/r/SnakeskinTpl/Snakeskin?branch=master)
|
17 | [![NPM dependencies](http://img.shields.io/david/SnakeskinTpl/Snakeskin.svg?style=flat)](https://david-dm.org/SnakeskinTpl/Snakeskin#info=dependencies&view=table)
|
18 | [![NPM devDependencies](http://img.shields.io/david/dev/SnakeskinTpl/Snakeskin.svg?style=flat)](https://david-dm.org/SnakeskinTpl/Snakeskin#info=devDependencies&view=table)
|
19 |
|
20 | [Demo](http://codepen.io/kobezzza/pen/zrJNXx)
|
21 |
|
22 | [Documentation](http://snakeskintpl.github.io/docs)
|
23 |
|
24 | ## Features
|
25 |
|
26 | * 2 types of syntax: classic and Jade-Like;
|
27 | * Object-oriented approach with very rich features for code-reuse (inheritance, composition, mixing, etc.);
|
28 | * JS-like set of directives;
|
29 | * [BEM](http://en.bem.info) (as in [Stylus](https://github.com/LearnBoost/stylus));
|
30 | * Localization;
|
31 | * Filters;
|
32 | * Modules;
|
33 | * Work in browsers, as well as on a server ([node.js](http://nodejs.org));
|
34 | * The source code is designed to work with Google Closure Compiler in advanced mode;
|
35 | * Good code coverage;
|
36 | * Detailed [documentation](http://snakeskintpl.github.io/docs) with examples.
|
37 |
|
38 | ## Plugins
|
39 |
|
40 | * [Gulp](https://github.com/SnakeskinTpl/gulp-snakeskin)
|
41 | * [Grunt](https://github.com/SnakeskinTpl/grunt-snakeskin)
|
42 | * [WebPack](https://github.com/SnakeskinTpl/snakeskin-loader)
|
43 | * [Browserify](https://github.com/SnakeskinTpl/snakeskinify)
|
44 | * [CLI](https://github.com/SnakeskinTpl/snakeskin-cli)
|
45 | * [IntelliJ-IDEA](https://github.com/SnakeskinTpl/IntelliJ-IDEA)
|
46 | * [Atom](https://github.com/SnakeskinTpl/atom-snakeskin)
|
47 | * [STD.ss](https://github.com/SnakeskinTpl/std.ss)
|
48 |
|
49 | ### Example
|
50 |
|
51 | ```js
|
52 | - namespace example
|
53 | - template helloWorld(name = 'world')
|
54 | < .hello
|
55 | Hello {name}!
|
56 | ```
|
57 |
|
58 | ```js
|
59 | example.helloWorld();
|
60 | ```
|
61 |
|
62 | It will transpiled to
|
63 |
|
64 | ```html
|
65 | <div class="hello">Hello world!</div>
|
66 | ```
|
67 |
|
68 | ## [License](https://github.com/SnakeskinTpl/Snakeskin/blob/master/LICENSE)
|
69 |
|
70 | The MIT License.
|