<commit_before># Slm

Slm is a template language for js. Port of [Slim](http://slim-lang.com/) but slimmer :)

[![Build Status](https://img.shields.io/travis/slm-lang/slm/master.svg?style=flat)](https://travis-ci.org/slm-lang/slm)
[![Test Coverage](https://codeclimate.com/github/slm-lang/slm/badges/coverage.svg)](https://codeclimate.com/github/slm-lang/slm)
[![Dependency Status](https://david-dm.org/slm-lang/slm.svg)](https://david-dm.org/slm-lang/slm)
[![devDependency Status](https://david-dm.org/slm-lang/slm/dev-status.svg)](https://david-dm.org/slm-lang/slm#info=devDependencies)
[![NPM version](https://badge.fury.io/js/slm.svg)](http://badge.fury.io/js/slm)
[![Code Climate](https://codeclimate.com/github/slm-lang/slm/badges/gpa.svg)](https://codeclimate.com/github/slm-lang/slm)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/slm-lang/slm?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)


## A little bit of history

HAML -> Jade -> Slim -> Slm

### Short list of the features

* Elegant syntax
    * Short syntax without closing tags (Using indentation instead)
    * HTML style mode with closing tags
    * Shortcut tags (based on css selectors)
* Safety
    * Automatic HTML escaping by default
    * Support `htmlSafe` attribute on String objects
* Highly configurable and extendable via plugins
* High performance
    * Comparable speed to ECT and Hogan [see benchmakrs](https://github.com/slm-lang/template-benchmark#results)
* Easy integration with hapijs
* Embedded engines like [CoffeeScript](https://github.com/slm-coffee), [Markdown](https://github.com/slm-lang/slm-markdown) and Textile (TBD)

## Links

* Source: <http://github.com/slm-lang/slm>
* Bugs:   <http://github.com/slm-lang/slm/issues>
* Highlighters:
  * Atom: <https://github.com/slm-lang/language-slm>
  * Sublime: <https://github.com/slm-lang/sublime-slm>
  * Vim: <https://github.com/slm-lang/vim-slm>
* Benchmark: <https://github.com/slm-lang/template-benchmark#results>
* Gulp: <https://github.com/simnalamburt/gulp-slm>
* Grunt: <https://github.com/MichaelDanilov/grunt-slm>
* Karma: <https://github.com/looker/karma-slm-preprocessor>

### How to start?

Install Slm with npm:

    npm install slm --save
    
### Configure to work with ExpressJS
<commit_msg>Fix link to slm-coffee<commit_after># Slm

Slm is a template language for js. Port of [Slim](http://slim-lang.com/) but slimmer :)

[![Build Status](https://img.shields.io/travis/slm-lang/slm/master.svg?style=flat)](https://travis-ci.org/slm-lang/slm)
[![Test Coverage](https://codeclimate.com/github/slm-lang/slm/badges/coverage.svg)](https://codeclimate.com/github/slm-lang/slm)
[![Dependency Status](https://david-dm.org/slm-lang/slm.svg)](https://david-dm.org/slm-lang/slm)
[![devDependency Status](https://david-dm.org/slm-lang/slm/dev-status.svg)](https://david-dm.org/slm-lang/slm#info=devDependencies)
[![NPM version](https://badge.fury.io/js/slm.svg)](http://badge.fury.io/js/slm)
[![Code Climate](https://codeclimate.com/github/slm-lang/slm/badges/gpa.svg)](https://codeclimate.com/github/slm-lang/slm)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/slm-lang/slm?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)


## A little bit of history

HAML -> Jade -> Slim -> Slm

### Short list of the features

* Elegant syntax
    * Short syntax without closing tags (Using indentation instead)
    * HTML style mode with closing tags
    * Shortcut tags (based on css selectors)
* Safety
    * Automatic HTML escaping by default
    * Support `htmlSafe` attribute on String objects
* Highly configurable and extendable via plugins
* High performance
    * Comparable speed to ECT and Hogan [see benchmakrs](https://github.com/slm-lang/template-benchmark#results)
* Easy integration with hapijs
* Embedded engines like [CoffeeScript](http://github.com/slm-lang/slm-coffee), [Markdown](https://github.com/slm-lang/slm-markdown) and Textile (TBD)

## Links

* Source: <http://github.com/slm-lang/slm>
* Bugs:   <http://github.com/slm-lang/slm/issues>
* Highlighters:
  * Atom: <https://github.com/slm-lang/language-slm>
  * Sublime: <https://github.com/slm-lang/sublime-slm>
  * Vim: <https://github.com/slm-lang/vim-slm>
* Benchmark: <https://github.com/slm-lang/template-benchmark#results>
* Gulp: <https://github.com/simnalamburt/gulp-slm>
* Grunt: <https://github.com/MichaelDanilov/grunt-slm>
* Karma: <https://github.com/looker/karma-slm-preprocessor>

### How to start?

Install Slm with npm:

    npm install slm --save
    
### Configure to work with ExpressJS

{'fraction_non_alphanumeric': 0.17484331100064837, 'fraction_numerical': 0.0008644910309055544, 'mean_word_length': 4.438307873090482, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 27, 'https://': 45, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1709612', 'n_tokens_mistral': 1786, 'n_tokens_neox': 1732, 'n_words': 281}