| @@ -0,0 +1,91 @@ | |||
| # Templish | |||
| A templating language for JavaScript, using JavaScript. | |||
| ## Installation | |||
| Install with NPM: | |||
| npm install --save templish | |||
| ## Usage | |||
| A simple example: | |||
| ``` JavaScript | |||
| //First, require the library | |||
| var Templish = require("templish"); | |||
| //Create a templish template | |||
| var t = new Templish("<title>{{conf.title}}</title>", ["conf"]); | |||
| //Create an environment | |||
| var env = { | |||
| conf: { | |||
| title: "Hello, World!" | |||
| } | |||
| } | |||
| //Execute the template | |||
| t.exec(env, function(err, res) { | |||
| console.log(res); //<title>Hello, World!</title> | |||
| }); | |||
| //Execute the template again, this time with a different environment | |||
| env = { | |||
| conf: { | |||
| title: "Good Morning, Earth!" | |||
| } | |||
| } | |||
| t.exec(env, function(err, res) { | |||
| console.log(res); //<title>Good Morning, Earth!</title> | |||
| }); | |||
| ``` | |||
| We can do more complex things, even with asynchronous functions: | |||
| ``` JavaScript | |||
| var fs = require("fs"); | |||
| var Templish = require("templish"); | |||
| //Create a templish template | |||
| var t = new Templish( | |||
| "<title>{{fs.readFile('someFile', 'UTF8', cb)}}</title>", | |||
| ["fs"] | |||
| ); | |||
| //Create an environment, this time with the `fs` method to let us access files | |||
| var env = { | |||
| fs: fs | |||
| } | |||
| //Execute the template | |||
| t.exec(env, function(err, res) { | |||
| console.log(res); //If we assume the `someFile` file contains "hi, world": | |||
| //<title>hi, world</title> | |||
| }); | |||
| ``` | |||
| We can have multiple statements: | |||
| ``` JavaScript | |||
| var Templish = require("templish"); | |||
| //Create a templish template | |||
| var t = new Templish("\ | |||
| <title>{{ \ | |||
| var str = 'Hello World'; \ | |||
| return str; \ | |||
| }}</title>", | |||
| [] | |||
| ); | |||
| //Execute the template | |||
| t.exec({}, function(err, res) { | |||
| console.log(res) //<title>Hello World</title> | |||
| }); | |||
| ``` | |||
| Notice that with multiple statements, you have to include the `return` statement yourself. | |||
| Of course, in practice, you would probably want your templates to be individual files, and not inline in the script file, not that Templish cares, as long as it receives a string. | |||