Skip to content

Commit 1062588

Browse files
committed
update
1 parent 587fd7c commit 1062588

4 files changed

Lines changed: 94 additions & 1 deletion

File tree

.project

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>JavaScript-Templates</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
</buildSpec>
9+
<natures>
10+
</natures>
11+
</projectDescription>

js/tmpl.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
tmpl.load = function (id) {
3535
return document.getElementById(id).innerHTML;
3636
};
37-
tmpl.regexp = /([\s'\\])(?!(?:[^{]|\{(?!%))*%\})|(?:\{%(=|#)([\s\S]+?)%\})|(\{%)|(%\})/g;
37+
tmpl.regexp = /([\s'\\])(?!(?:[^{]|\{(?!%))*%\})|(?:\{%(=|#)([\s\S]+?)%\})|(\<!--%)|(%\-->)/g;
3838
tmpl.func = function (s, p1, p2, p3, p4, p5) {
3939
if (p1) { // whitespace, quote and backspace in HTML context
4040
return {

test/example.html

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>JS Template Example</title>
6+
</head>
7+
<body>
8+
<div id="content"></div>
9+
<script src="../js/tmpl.js"></script>
10+
11+
<script type="text/html" id="tmpl-demo">
12+
<h3>{%=o.title%}</h3>
13+
<p>
14+
Released under the <a href="{%=o.license.url%}">{%=o.license.name%}</a>.
15+
</p>
16+
<h4>Features</h4>
17+
<ul>
18+
<!--% for (var i=0; i <o.features.length; i++) { %-->
19+
<li>{%=o.features[i]%}</li>
20+
<!--% } %-->
21+
</ul>
22+
</script>
23+
24+
<script>
25+
var data = {
26+
"title" : "JavaScript Templates",
27+
"license" : {
28+
"name" : "MIT license",
29+
"url" : "http://www.opensource.org/licenses/MIT"
30+
},
31+
"features" : [ "lightweight & fast", "powerful",
32+
"zero dependencies" ]
33+
};
34+
var template = document.getElementById('tmpl-demo').innerHTML;
35+
var result = tmpl(template, data);
36+
document.getElementById('content').innerHTML = result;
37+
</script>
38+
</body>
39+
</html>

test/performance.html

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Insert title here</title>
6+
</head>
7+
<body>
8+
<script type="text/html" id="tmpl-demo">
9+
<h3>{%=o.title%}</h3>
10+
<p>
11+
Released under the
12+
<a href="{%=o.license.url%}">{%=o.license.name%}</a>
13+
.
14+
</p>
15+
<h4>Features</h4>
16+
<ul>
17+
<!--% for (var i=0; i <o.features.length; i++) { %-->
18+
<li>{%=o.features[i]%}</li>
19+
<!--% } %-->
20+
</ul>
21+
</script>
22+
<script src="../js/tmpl.js"></script>
23+
<script>
24+
var data = {
25+
"title" : "JavaScript Templates",
26+
"license" : {
27+
"name" : "MIT license",
28+
"url" : "http://www.opensource.org/licenses/MIT"
29+
},
30+
"features" : [ "lightweight & fast", "powerful",
31+
"zero dependencies" ]
32+
};
33+
34+
var template = document.getElementById('tmpl-demo').innerHTML;
35+
var t1 = new Date().getTime();
36+
for (var i = 0; i < 100; i++) {
37+
var result = tmpl(template, data);
38+
}
39+
var t2 = new Date().getTime();
40+
alert(t2 - t1);
41+
</script>
42+
</body>
43+
</html>

0 commit comments

Comments
 (0)