Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use the John Resig JavaScript Micro-Templating engine?

I have searched for a bit on a basic example on using the John Resig JavaScript Micro-Templating engine on Google but came out dry.

I decided to bring it to base guys. Can anyone help with a simple example on using this engine? I have never used a client side template engine before.

Update: This is the complete HTML document. Thanks to Will.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>John Resig JavaScript Micro-Templating engine</title>
    <script src="jquery-1.3.2.js" type="text/javascript"></script>
    <script src="MicroTemplates.js" type="text/javascript"></script>
    <script type="text/javascript">
        //Data
        var data = { fname: "fred" };

        function onloadFunction() {
            var s = $("#biodata").html();
            var s1 = tmpl(s, data);

            $("#target").html(s1);
        }
    </script>
    <script id="biodata" type="text/html">
        <div><%= fname %></div> 
    </script> 
</head>
<body onload="onloadFunction();">
    <div id="target">
    </div>
</body>
</html>
like image 404
Orson Avatar asked Nov 21 '09 09:11

Orson


People also ask

What is a templating engine used for?

A template engine enables you to use static template files in your application. At runtime, the template engine replaces variables in a template file with actual values, and transforms the template into an HTML file sent to the client. This approach makes it easier to design an HTML page.

Which templating engine is best for Node JS?

Pug. Pug , formerly known as Jade, is one of the most used template engines in Node. It provides an indentation-based syntax for adding content to a page.

Is JavaScript a templating language?

JavaScript templating refers to the client side data binding method implemented with the JavaScript language. This approach became popular thanks to JavaScript's increased use, its increase in client processing capabilities, and the trend to outsource computations to the client's web browser.


1 Answers

The link you provided has an example immediately after the engine code. Read from the 2nd paragraph down.

CB, using your example, here is my take on the engine, which outputs the value of fname between div tags. To carry out the generation you would do something like:

var data = { fname : "fred" };
var generatedText = tmpl("biodata", data);

Then you'd have to output it, eg.

document.write(generatedText);

Or (assuming a div exists in the page with the id of 'elemId')

var elem = document.getElementById("elemId");
elem.innerHTML = generatedText;

All the above is untested, but hopefully accurate. Hope it helps!

like image 152
Will Avatar answered Sep 20 '22 07:09

Will