|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- # 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.
|