Hacker News new | ask | show | jobs
PaJes, Simple JavaScript Templating Library for generating HTML (saroskar.github.com)
3 points by saroskar 6014 days ago
1 comments

One of the examples from the documentation to give HN readers a quick idea:

var model = [ {name: "Lisa Simpson", id: 1}, {name: "Bart Simpson", id: 666} ]

DIV( {id:"demo-div", width: "60%"}, OL( {style: "list-style-type: upper-roman"}, forEach(model, studentDetails) ) ).display(out); out.flush();

function studentDetails(index, value) { return LI( value.name, A( {href:"/student-details?id="+value.id}, "details "+(index+1) ) ); }

Thanks for making this also work in nodejs. I've tried Mustache and hamljs, and I'll have to give your code a whirl as well.

(btw: Is it possible to call within a namespace, i.e. pjs.DIV( .. ), as opposed to DIV(..) ? Your examples seem to export the tags and forEach as globals).

Yes, if you use PaJes-CommonJS.js you can use use namespace by using standard require() construct.

For example,

    var pjs = require('PaJes-CommonJS');
    pjs.DIV(pjs.forEach(...));
This requires CommonJS module system to be in place (that is, function require() being implemented to be specific).

Alternatively, it would be trivial to make non-CommonJS use namespace too by modifying PaJes.js. Do you need namespace in non-CommonJs setting?

Thanks for trying it out!