Multi-templating on the fly pre-compiler
JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
compilers
wwwroot
README.md
index.js
package.json
templateready.js

README.md

TemplateReady

TemplateReady is multi-templating on the fly pre-compiler.

Why TemplateReady?

  • Most common template libraries support. All at once.
  • If rewrite template in another templating library - don't need to change client-side application code.
  • Create common, minified and gzipped versions (useful with gzip_static Nginx module).
  • Include template library runtime code (if exists) into the output script file.

Supported template libraries

  • Underscore template - builds client-side independent methods. Not even need Underscore.js!
  • Mustache - additional client-side runtime code required.
  • Jade - additional client-side runtime code required.

Did not find your favorite engine? Add it yourself! Directory /compilers is waiting for your pull requests.

Simple Install

Install npm, and then do this:

npm install templateready -g

You don't even need to download or fork this repo at all.

Fancy Install

Get this code, install npm, and then do this:

npm link

templateready --help

Usage:
  templateready [options]

Options:
 -d|--dir <workDirectory>
   The work directory. Use as base path for source directory and output JS
   Default is '.'

 -s|--source <sourceDirectory>
   The source directory with templates.
   If set directory name without path then use work directory as base path: <workDirectory>/templates/
   If set directory name with path then use it as is.
   Default is 'templates'

 -f|--file <outputFile>
   The name of output script file.
   If set file name without path then use work directory as base path: <workDirectory>/templates.js
   If set file name with path then use it as is.
   Pre-comiler will generate common and minified versions of output files.
   Default is 'templates.js'

 -t|--target <targetJsObject>
   The name of object who contain pre-compiled temlates as methods.
   You must ensure that the object already declared in your JS application.
   Default is 'Core.Template'

  -r| --runtime
    Add template library runtime code (if exists) into the output script file.
    No default

 -w|--watch
   When a change template file occurs, rebuild output js file.
   No default

 -p|--poll-interval <milliseconds>
   How often to poll watched files for changes.
   Defaults to Node default.

 -h|--help|-?
   Display these usage instructions.

 -q|--quiet
   Suppress DEBUG messages

 -V|--version
   Show version and exit.

 Examples:
   templateready -d ./wwwroot/app --runtime
   templateready -d ./wwwroot/app -s mytemplates -w -p 1000
   templateready --source ./wwwroot/mytemplates --file ./wwwroot/app/comiled.js --target 'MyApplicationTemplates'

Issues

Have a bug? Please create an issue here on GitHub!

https://github.com/Staltec/TemplateReady/issues

Author

Alexander Prozorov

License

TemplateReady is released under the MIT license.