Stalin
Badass mustache compiler
Why?
- In Soviet Russia template compiles you
- Compiled templates have no dependencies
- Minified and gzipped version is 1KB in size
- Joseph Stalin => stalin.js
Installation
# Global npm -g install stalin # Local npm install stalin
Difference
- Lambdas are not supported (no simple way to get template source from compiled one)
- Partials are functions (templates or helpers at your choise, see below)
{{{ }}}
Not supported, use{{& }}
instead to get unescaped output- Magic RegExp characters can not be used as delimiters (ex:
{{=[ ]=}}
) - All CRs are converted to LFs before processing
- LFs from lines with standalone tags are not removed
Usage
API
var Stalin = ; /* Compile template and save reference */; /* Render compiled template */console;
Some internal functions available
Stalin.process
- compile template to string and return itStalin.compile
- compile, eval and return reference
Partials
Partials can be defined as another template
;
or as custom function
Stalin { /* Call to scope() does scope lookup and returns unescaped value */ return '<a href="' + + '">' + + '</a>';};
and used later
; console;
to get result like that
AboutContacts
Compilation
# Compile all *.mustache files in folder # and subfolders and save with .js extension stalin public/templates/ # Compile single file and print it stalin public/index.mustache
Client
To use compiled templates without Stalin itself you need to define window.Stalin
before loading any template. Templates
will register themselves on Stalin object when loaded.
Copyright and License
Copyright 2013 Alexander Nazarov. All rights reserved.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.