Skip to content

niceue/tpl.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tpl.js

Lightweight javascript template engine. Adaptation AMD, CMD and global environment

Speed Test

Usage

  1. Include tpl.js:
    <script type="text/javascript" src="path/to/tpl.js"></script>

Or in sea.js, you can include by: var tpl = require('path/to/tpl');

  1. Template in your html:
    <script type="text/template" id="demo">
        <p>Hi, I'm <#=author#></p>
        <p>I can write:
        <# for(var i=0; i<languages.length; i++) { #>
        <#=(i===0?"":",")+languages[i]#>
        <#}#>
        </p>
    </script>

Or use internal method echo():

    <script type="text/template" id="demo">
        <p>Hi, I'm <#=author#></p>
        <p>I can write:
        <# 
        for(var i=0; i<languages.length; i++) { 
            echo( (i===0?"":", ") + languages[i] );
        }#>
        </p>
    </script>
  1. Execution rendering:
    console.log( tpl('#demo', {author: "Jony", languages: ["javascript", "php", "shell"]}) );
  1. Result is:
<p>Hi, I'm Jony</p>
<p>I can write: javascript, php, shell</p>

API

Include another template: <# include("#tpl_id") #>
Get HTML: tpl(template, data)
Get HTML: tpl(template)(data)
Precompiled: tpl(template)

template can be a html template string or '#' plus an id, This will return a rendered html string.

Browser Support

  • IE6+
  • Chrome
  • Safari 4+
  • Firefox 3.5+
  • Opera

Bugs / Contributions

  • Report a bug
  • To contribute or send an idea, github message me or fork the project

Build

tpl.js use UglifyJS2 you should have installed nodejs and run npm install uglify-js -g.

On Windows, you can run build.bat from root directory and it will package tpl.debug.js into tpl.js.

License

tpl.js is available under the terms of the MIT License.