{"_id":"jqtpl","_rev":"117-08fb8bfe99ea4c809e3dbf79ceb155e0","name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","dist-tags":{"stable":"1.1.0","latest":"2.0.16-rc1"},"versions":{"0.0.1":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.0.1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"}],"repository":{"type":"git","url":"git@github.com:kof/node-argsparser.git"},"keywords":["template","template engine","jquery","django"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.2.0"},"scripts":{"install":"node test/test.js"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.0.1","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.0.1.tgz","shasum":"a8893df2a89db384a94ca04d0aa25a2115bf930d","integrity":"sha512-jRYPahnQ1T43eFAN2MM8IrWS4miR44PXn4A4oYFu+lJ7p/i4zBtJBsQ2KV3Jraloxfbwfzqf3Zt6zxOZHq7T2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0B30zS3TrOuz52/N2gB72t8RQ7Ft2XPsEdZmVuCRbBQIgLDKOHTq+ZmE8IAWqD1wnFbEpGoWFYn73J8sLBrRwr80="}]}},"0.0.2":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.0.2","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"}],"repository":{"type":"git","url":"http://github.com/kof/node-jqtpl.git"},"keywords":["template","template engine","jquery","django"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.2.0"},"scripts":{"install":"node test/test.js"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.0.2","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.0.2.tgz","shasum":"a3d0367de7d380e345f6ffda4547059dd79e80ea","integrity":"sha512-ZIX6/DXFpfxgCSaNpygGe6QKv/CDG/iSoSgYMR+TcGaX5HeGl60tvV9sjb9waskPr3mwCUVMcBimCnzVIcvEpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiXO8w6e10C6q2sh3CoFoi8ubeCRi8duC9L7dbmhE9yAIhAOz3mKxA5se8BcEkQniWcoxD0YxtSvhOGf7cW26tvxL6"}]}},"0.0.3":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.0.3","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"}],"repository":{"type":"git","url":"http://github.com/kof/node-jqtpl.git"},"keywords":["template","template engine","jquery","django"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.2.4"},"scripts":{"install":"node test/test.js"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.0.3","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.0.3.tgz","shasum":"414ab0e06ae6bd08bdd8e2c60d4c592dcab6ce39","integrity":"sha512-Xom3VUP9rDF5ImVOxbya5UqW9N7BHhnlUaN07USlR26/LBOxEJpkHDnYhpt8gxWYEPo/BAdyLPEc8dLFUgAu1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJ/WoTxlohDF3dqoIkxIyc2ikPeu/bg0xOcaXmLX0BdAIgI/cbbmXvMHXtvzIQ9fXb65YkHM1jrrZ5s8HBsUBPLDg="}]}},"0.0.4":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.0.4","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"http://github.com/kof/node-jqtpl.git"},"keywords":["template","template engine","jquery","django","logicless"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.2.4"},"scripts":{"install":"node test/test.js"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.0.4","_nodeSupported":true,"_npmVersion":"0.2.5-1","_nodeVersion":"v0.3.2-pre","dist":{"tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.0.4.tgz","shasum":"454110190dcdbc2f37ac1338f5cbc70bb5e28ed8","integrity":"sha512-zXNpKyecwkwDEAdOxGAgjZDrGgB6pmHH3sz/MDMkPYtMtBgXICCah+T/1Mh/zvZXuYtSVWjdlkhhs+kx6tHJ8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxJLYQDedRy9BwrFCCzbF5JBFnwXNOKUPiXEdazzrfZQIhAO0U/zHMoTqbekRqcdoF2Mz6QGJyy/3ytewrgfUCs/s/"}]}},"0.0.5":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.0.5","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"http://github.com/kof/node-jqtpl.git"},"keywords":["template","template engine","jquery","django","logicless"],"directories":{"lib":"./lib"},"main":"./lib/jqtpl","engines":{"node":">= 0.2.4"},"scripts":{"install":"node test/test.js"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.0.5","_engineSupported":true,"_npmVersion":"0.2.13-2","_nodeVersion":"v0.3.2","dist":{"shasum":"77d5e84ecc2169daafcaefe55cc002f8fdc3d615","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.0.5.tgz","integrity":"sha512-I7/VQFJ3XDh8pXQCwYYkaB6ff+PvaBWr6RpQzZthWVqJR1lHsq2TxTBKDAcYUh/3oYj5WHRSW4j1E0R52+16Ug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgpKwTV1XwW1yLJMKDpB+fZzd5Qck8sX245pjVvEE4rAiEA51HVK0c23b0FmJHdM26B1xCJaxjutUUt1kfhkL9+Mks="}]}},"0.0.6":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.0.6","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"http://github.com/kof/node-jqtpl.git"},"keywords":["template","template engine","jquery","django","logicless"],"directories":{"lib":"./lib"},"main":"./lib/jqtpl","engines":{"node":">= 0.2.4"},"dependencies":{"express":">= 1.0.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.0.6","_engineSupported":true,"_npmVersion":"0.2.14","_nodeVersion":"v0.3.6","modules":{"jqtpl.js":"lib/jqtpl.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"fdddbf92abd892750ed6b313abae51caac7958c1","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.0.6.tgz","integrity":"sha512-s3xQicxRH3YNeML3g2RPMecPZnp3rigE4tOX+eLBTj3xjTvmk+J3nLUqLGdvG+Y/gorLuJ2OufwMyqANRfUGyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGXdv8irL8DLVYfsG9nTHCr0gZHk2liPtkTQ6chC3zZTAiBc65My2hna78SZX1O+0hwxg1fdsLcdu6bs/mm55QRz3g=="}]}},"0.0.7":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.0.7","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"http://github.com/kof/node-jqtpl.git"},"keywords":["template","template engine","jquery","django","logicless"],"directories":{"lib":"./lib"},"main":"./lib/jqtpl","engines":{"node":">= 0.2.4"},"dependencies":{"express":">= 1.0.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.0.7","_engineSupported":true,"_npmVersion":"0.2.14","_nodeVersion":"v0.3.7","modules":{"jqtpl.js":"lib/jqtpl.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"2814d2024c1da956f1c441c00d727262506ca1bb","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.0.7.tgz","integrity":"sha512-rVd+MMiDmpqnnTcknHkqAkav3r5KRsuzP3z2MyQq6uSRiBQVDW4/LVzs+e2NUJzexxrxHg/vrb3nSPu8gbMDfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEvKwCmZCaj3+r9adx3ffwmGapAEWJbVkfufJmvbzp9MAiEA0VkGlkGNZCrUSDGOsoMdlqiZvVQT2D31Mq6QIyrd3tI="}]}},"0.0.8":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.0.8","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"http://github.com/kof/node-jqtpl.git"},"keywords":["template","template engine","jquery","django","logicless"],"directories":{"lib":"./lib"},"main":"./lib/jqtpl","engines":{"node":">= 0.3.7"},"dependencies":{"express":">= 1.0.7","qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.0.8","_engineSupported":true,"_npmVersion":"0.2.14","_nodeVersion":"v0.3.7","modules":{"jqtpl.js":"lib/jqtpl.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"02379316e985004653a0aa49ea04d73b458387e0","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.0.8.tgz","integrity":"sha512-UtZKa45bogLyS4oduk25kZofd6H+S/7KDo1sylS9f+3swwxWpSqHvzOPC5M3+JDYrRi6P+dnkIJzD5Z9fqxDXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyInrUznD0o5JJP7DAztuD8B7RIlbKQGW1RtvrJnplMQIhALFN8C8Eq27qTbWFG6RTQIyJxr4fHwNpsn7asV/b3Pnb"}]}},"0.0.9":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.0.9","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"http://github.com/kof/node-jqtpl.git"},"keywords":["template","template engine","jquery","django","logicless"],"directories":{"lib":"./lib"},"main":"./lib/jqtpl","engines":{"node":">= 0.3.7"},"dependencies":{"express":">= 1.0.7","qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.0.9","_engineSupported":true,"_npmVersion":"0.2.14","_nodeVersion":"v0.4.0","modules":{"jqtpl.js":"lib/jqtpl.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"08835ba976807ce2a8934895a9759e3d5810b6e1","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.0.9.tgz","integrity":"sha512-AyJKhTSRdwCGTiGNIctOF4hQxM+rOxZx171k6hYEYq7GSqIIQAY1mPePPR82RCbcrhHhCDjl0qFZqshSd/20Cg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFtidx1OYJ8VDi1aRbiXbwNuDz14Sk3PkHniiQzcYTMtAiBcHFov6E+mOuxRL1fETISe+PNwr25OrtxtIv1n0d6ciQ=="}]}},"0.0.91":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.0.91","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless"],"directories":{"lib":"./lib"},"main":"./lib/jqtpl.js","engines":{"node":">= 0.3.7"},"dependencies":{"express":">= 1.0.7"},"devDependencies":{"qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.0.91","_engineSupported":true,"_npmVersion":"0.3.12","_nodeVersion":"v0.4.0","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"c82030e1aef1039f8414f0e1e0cd8d900d3a1a99","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.0.91.tgz","integrity":"sha512-O5PW2c+hytS9X/+CIICkRUptd+z2p+DHBxcvL9CQscfvPczT/pZyff0/AeQ1uKJpQWgRdT4BPhYvT4qvJBK9BA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCa/GnI9Uca7z8sSW5urXshPvVMvdu+CU0GsS1dSHEYhQIgVs30eORWBW+gL22R/NcdyY/+CJF1wK2swHeQiidZzrU="}]}},"0.1.0":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"0.1.0","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless"],"directories":{"lib":"./lib"},"main":"./lib/jqtpl.js","engines":{"node":">= 0.3.7"},"dependencies":{"express":">=1.0.7"},"devDependencies":{"qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@0.1.0","_engineSupported":true,"_npmVersion":"0.3.15","_nodeVersion":"v0.4.0","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"803bdb7b1aa2d7753d9ae5da6dd50049aef77b88","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-0.1.0.tgz","integrity":"sha512-xjPeDmg2hMW6kTzUqaGAqEx3liHySIFHe2zEFQnzeKjMzgtIPq/zYRqL7B39h4g4j5uMXCMRJ1lxpJgELulPYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEueURsWKLWu/zPKC70I9HzhYwgDdOp+drr6Q5aMLFeAiEAkglVLwSKexiLsdXNtjxLs6rk+Ts5QNVkp4pWs9v+Nd4="}]}},"1.0.0":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.0","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.0.0 < 3.0.0","qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@1.0.0","_engineSupported":true,"_npmVersion":"0.3.17","_nodeVersion":"v0.4.3","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"4e67ceede003b0b90c9875da63bfb29decf5a2f8","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.0.tgz","integrity":"sha512-MoPI1PJzySptz/fAs37vx0TpmCsgml9TtCS3BrpHILvFv3BS8rnjXFABDlTUrhNG1BekB5SohopQ9Em5z8ohzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFo55EqcHjsncUKzqIABuqLmeISSUT35DaSrvCmnN27PAiEAznJBCViWfSeKiJRsaNg/eBBg6NKTfswLXdE1UgQOCF8="}]}},"1.0.1":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.0.0 < 3.0.0","qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@1.0.1","_engineSupported":true,"_npmVersion":"0.3.17","_nodeVersion":"v0.4.3","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"170004b9e22520c512a423d275cc12a6feadf176","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.1.tgz","integrity":"sha512-WAPkBHaA/jft0fjCquiGIwfVMw5hypN2RgiNMTqP4aUq5fqZDvUisCNDh5mq38SwUgF3U36A1PkFlNwYMrl1Ig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5sz4OO3sOHAnbZiW7JcJHEeyiKpF405vywuvO3G8NOwIhAJ7zt4RJEXZo1+4huS6xLT13Cu+kfXv534O74s2HQfz3"}]}},"1.0.2":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.2","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.2.1 < 3.0.0","qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@1.0.2","_engineSupported":true,"_npmVersion":"0.3.17","_nodeVersion":"v0.4.3","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"dde29876f5238d303d575a5a6d7dcc8de454a70d","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.2.tgz","integrity":"sha512-7LdfY22mKCVK+qGbiAR7r9+Dxm8XABJvFeY5ddpKv7jnQBACMRPabhLAZJ+sf8xstoNlL1Ds4sqIkhI3Jkexng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDl5BWw7hzm9wWMzpwjH6+A8bIri5nhW8XqRDAze3iu0AiAc7nlmm0rFCmGGvYcuZHBNtwK3NXSCDxl9JSrbf7UdEA=="}]}},"1.0.3":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.3","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.2.1 < 3.0.0","qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@1.0.3","_engineSupported":true,"_npmVersion":"0.3.17","_nodeVersion":"v0.4.3","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"9b5d92c599929385560fbd9288dea04bcb036c99","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.3.tgz","integrity":"sha512-MeKLynSraAn6iz5SU7Qa4orRrytS4SXzSec6qi9tWud50jPKcBToV6HknPEIoBKcpiNYyn439105w+ttdXfqWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE4AnMYU1+DUqaLlvhUmClzrst1v7U8bHCwcKOarUiqSAiEA3RAEj0Pvkzuw9LY+YOz3vX7Gssha0SLpeFhJgub38UY="}]}},"1.0.4":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.4","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.2.1 < 3.0.0","qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_id":"jqtpl@1.0.4","_engineSupported":true,"_npmVersion":"0.3.17","_nodeVersion":"v0.4.3","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"afc905377bc11ab6bcb028239e4886bd8bd1e13a","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.4.tgz","integrity":"sha512-C5bnxiuFKptHWoCcCvkduHs6Qy+whgx5OTcW4MSwEQ25t49wG9asKcxkdzBkrJv6eBKwtMNva9N4GJt7f+esQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXm+Wr5MDljkOsHKlB7kZodWizuBkzkN9GVwDId8o5HAIgft9sPzAHgezb7Ms0kv3PEUtPqpb0rjLLt3ocu6lx1k8="}]}},"1.0.5":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.5","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.2.1 < 3.0.0","qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"dependencies":{},"_id":"jqtpl@1.0.5","_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.4.3","_defaultsLoaded":true,"dist":{"shasum":"7a744f2c351ff3fdee71a99c29739f70afc05e0c","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.5.tgz","integrity":"sha512-iuYq5guDIY1NL8vbAMX84dFbBl61I8aDALwtUnyqdIZVeUcIYQdSTyzSC5GoYe0EEEjNSn4daQyRr3UtPmJ6Ow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEA406Hu2dQlZ99yv23ruGlQua3fZgFDkXyCFKju3gp/AiBCvl258dSGc9kSsq2UKPNa9+i0itaV1caD64QJfec3qQ=="}]},"scripts":{}},"1.0.6":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.6","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.2.1 < 3.0.0","qunit":">= 0.1.3"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"dependencies":{},"_id":"jqtpl@1.0.6","_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.4.3","_defaultsLoaded":true,"dist":{"shasum":"2eeb27635d6b542e2d50ca8fd8e922d4195d094d","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.6.tgz","integrity":"sha512-BW1PKQMEyqs29PCKVM0tLRDlPnrIYCEytt+TeiouFOS06BFkF5OS1u6dWox+z3kOtn+1de0tU5GPrM/OxFMjcA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAd65MKSyG3YliUh+UKpkfrp6EBIbwwT9NvPcm825goDAiEAroVMSX149jtOeL0m4zZVbTj5kBpntiMPCEpoP3YptV4="}]},"scripts":{},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}]},"1.0.7":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.7","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.2.1 < 3.0.0","qunit":"0.1.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_npmJsonOpts":{"file":"/Users/kof/.npm/jqtpl/1.0.7/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"jqtpl@1.0.7","dependencies":{},"_engineSupported":true,"_npmVersion":"1.0.17","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"2bff65ca8368bd77cb80db62185fe44103c6bb8c","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.7.tgz","integrity":"sha512-xWM1Qu6HwBh7N68LBL2+Om4/fLJH5xerGHAeJp551FsEiw8S1GwLGsAH6S3un5UB3km2QBQQxOtC2B8/k/zv+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDNZy2je4aPPhOMFfTrEhNo6yHdgszkMItX2/fnbp+LwIgfIfS2xIlxDAnFUO293TX9cum08daOSNAgXRw7mW/57w="}]},"scripts":{},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}]},"1.0.8":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.8","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.2.1 < 3.0.0","qunit":"0.1.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"_id":"jqtpl@1.0.8","dependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"479be7ffac77db8594416e8e87932bb989b02b06","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.8.tgz","integrity":"sha512-8gtGWWW3cSvbTzR5GAnm1nEkcepy+fmnVK5s6/5J1PPFHNCF6wzZK5Y4aEWgcsJGI+19Sf4mSB5clwkIkbkraw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGdnbSfbG6V11S3nZQT7/D+1xK4oyn7yHqEjRiHri1HJAiEAj4MxJ67VYZXd7uAc5VOrkiCMY7Hy6lSb1yhpRsL9vdg="}]},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}]},"1.0.9":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.9","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.2.1 < 3.0.0","qunit":"0.1.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"_id":"jqtpl@1.0.9","dependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"f1cdbba458965bfa462d8b82b8009a20abd959ec","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.9.tgz","integrity":"sha512-ppD/ezmZhSHK36Prk9uUmG0DxzuhBnq1RYD1ml70Uk2jfOYhDA3Ang1zLnR9ygPQYFbEksdD2Cv15xuFVRqfJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTJCX2rjZG4yp/htC72DUCUSqvBgnG7dYsnX6Iz1zFogIhAMAh10C6woBgOmWOZ1pwJDMMSmvcqCq2pc6N2kPMn1Zr"}]},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}]},"1.0.11":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.0.11","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.2.1 < 3.0.0","qunit":"0.2.x","underscore":"1.3.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"_id":"jqtpl@1.0.11","dependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"5528e17ade863db16669d4fec5b3176ce100af62","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.0.11.tgz","integrity":"sha512-H7FgcgwWRS/oILmxJ+cCdyuyLFkobduWyvb72KN2wzmGgTkwfgLGi6hA5ARcNrQvK7GdelWIvq3BlNLH8dcHZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGxhijiVhigrEIYltlqq63bW8Lzf27oMjV982JXmRq7/AiEA5n8ED1PiFfuUxfqugrnC6+pl3RoUe2dS0AU3eGGhxqQ="}]},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}]},"1.1.0":{"name":"jqtpl","description":"A port of jQuery's template engine","version":"1.1.0","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"contributors":[{"name":"John Resig","email":"jeresig@gmail.com"},{"name":"Boris Moore","email":"borismoore@gmail.com"}],"repository":{"type":"git","url":"git://github.com/kof/node-jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","django","logicless","express"],"directories":{"lib":"./lib"},"engines":{"node":">= 0.3.7"},"devDependencies":{"express":">= 2.2.1 < 3.0.0","qunit":"0.2.x","underscore":"1.3.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"_id":"jqtpl@1.1.0","dependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"fb90faafb541e8111960ca1d86a3aacbdff74f7e","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-1.1.0.tgz","integrity":"sha512-YylcHOGWQ1FsqEWNvSHWksRpKGV1mqo6tzAIXRiNgX9dLJYuv52X25G2MhzzwtlIRAqpx/oMPC32k1Buz6ycBA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAHQ5GWnAaj+aFsBmyEIDWR4Oo0FuvqmZzOhwbGSfuwkAiEA1oRZHF09tfzgQklRM9Po9NDHbtw8hvmyhMfUqodQ23M="}]},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}]},"2.0.0rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.0rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.0rc1","dist":{"shasum":"991ebf54782d0e3a72746e85765da399037fcc9a","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.0rc1.tgz","integrity":"sha512-EerCNHoqCermU5HgOZG+4jbgU+LScHDmEPBD3tqmJKzD/HU0ubA1Ti/rW4hTEwsNQFm5bTtgxt4x4Iy+gvuXJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB4OE4cZDdi2a0Nnp/Y7vUSuajCn3hfOr2ZL7eQ54VbnAiAXi2+c30OWXNAcgCaZsR9rS5pvDZj51DU2e/57Z3JIqQ=="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.1rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.1rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.1rc1","dist":{"shasum":"8152c05895740fbe7320b290fceb75662c7d5ba7","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.1rc1.tgz","integrity":"sha512-VNEBeFv1Tg5cJJJ7KWd0McmOzbUC1f+vWi++0LhROm5VG9VrFMYimyUk28C+wmQ8BBNm/IXjix2aD5D+HyzCHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDps3ptmnifjMPFQxYLKV/5xOJ8eR5vtaljjQoK348RGQIhAKNiX3rBcO1+sTFDQwgj+XZS1QYhbaR1EGW/V7crMJ0M"}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.2rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.2rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('view options', {layout: true});\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.2rc1","dist":{"shasum":"f9d4cfd68865ac2f669c3caa33f6301351ee696c","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.2rc1.tgz","integrity":"sha512-FjU9CgUeMVYc/kUbsfOkBXPkhyYEkCusQJOxaqaOnUVTENVzllzmZpWKXC80bzIvdLPlC6622l85roJciYNH1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1N1w+V0KTHiKKU8PXg4Ecd5KA1X7R8A2Q01Uq8SF6lgIhAKCEqZesHBg51i4U7SbeC/+VUlWK8TWq6T5eY43/1S1a"}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.3rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.3rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('view options', {layout: true});\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.3rc1","dist":{"shasum":"72f493ce668aebf7fcfd46a33948e654f55cfb30","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.3rc1.tgz","integrity":"sha512-ZMWzIZpQWNRZy8G117psknI8uvkknPzx1J8LRMGIvEQPoxk7uVoT7BDL4ldW2Luqjlf/jrB7g3UgOT1Fe/q7Zw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICGZxSOCl3NtzB5GQfNjJeiepXPLAcMyYScruBpT7dzRAiEAnueAxBwBqP4axclqRVOEXNf06zOLHTBdjuKsSwp9/UQ="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.4rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.4rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.4rc1","dist":{"shasum":"0432bb0e6ad3abb0b03119f08c90504eefbb27ad","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.4rc1.tgz","integrity":"sha512-JmPqSv7cVZfoWW5iJhQVVvwUU4fIQ5qKlIa+W1zyI9GjYp8qfjaz+6nrXC0ShFDhOQabVqAjTGwY6EqOoeovEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRgocMK5QLlFAMNlAyXuV0M+CHX7gE7f5xAPUTb4mQogIhAJR8hck8Y9BiI9fyKKPisz/lPA0Ci8xVaVTdPrO5zxlH"}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.5rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.5rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.5rc1","dist":{"shasum":"6648dc6167c710bc527af2e850a76fb80c20cb70","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.5rc1.tgz","integrity":"sha512-FYFGX9TyqcRzpCBb7r5aRzULBbDQiAdm/0aMqcGCoq4cKTUP8ol+t93rhP4+l1HQeX9fGcbxOyk62RyWaqOk+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGiubu0NWt3AZR5uSIHVAuXLuUx8LjO5eA41l2zXUY+fAiEAvkbtdyf5tDwnbj7c3ymTXca/Ad+H8jo0S6dxWGE9c1Q="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.6rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.6rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.6rc1","dist":{"shasum":"f97a00ad4f86f299c7486b2e7210b523c2c6b78d","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.6rc1.tgz","integrity":"sha512-b/VgJiDTy9zLAt87Z+iuC6aNvfNyHIJOWANej+Y57n0KCprqrPQuha4Cn+IP1DZw0JYxjUjSNod9LRJR/jWVSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+GTtddI8YqB3qImZ8WgzqifcjHBeVVG1Efb/V7pe4LAIgJ8jNEVWVGYMuD5LxyF0YhDQbnIj3r+IKvNnHxe5o09E="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.7rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.7rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.7rc1","dist":{"shasum":"c48be78bb11a84c05d21a303d33f8fa1b06d64f9","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.7rc1.tgz","integrity":"sha512-bxXlvrjwW2/GsWXZX/7vxMTs8v13nRyOv1t1ooZTqUGyx5c1x5086S1tl0M+8VZANmO17lTArjMLf7225f0eSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbRB4/yDbsKkwCmn+aehiNMwytmt9ABGvo2mlExMJ3cgIhAKAD1yxvAz0jVp7s5NWf8sy+eKQxKqtYHWeyEBf9CJGd"}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.9rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.9rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.9rc1","dist":{"shasum":"f033862e109908268904f49f09a13b6c54249d3b","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.9rc1.tgz","integrity":"sha512-McvdytBESVBW/bTsf0smArZXnVhFX8ZM+jU+8Oqw+cdSHMKPA6rFA4ElL1i9PpCC+yiMaK7+5VG4KbKEh3wcjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCarpYP7YKtIjH5IVPuqSqt4Dg+n1KVkRcue85qzKB7lAIhAMn+1zh/CzyaZ8PR1TQ4NFKxClBIPgYgdqOvtZ/3+wea"}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.10rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.10rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.10rc1","dist":{"shasum":"b1f4ed069ec9a78180a0b610bb010fc45e19ebbf","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.10rc1.tgz","integrity":"sha512-guu/ZvrucHDE7Q6w61RJdOYdojxGSGzT30fwrhU2CX/5nIGDz7oSh+sUjM7zspIqnOW9A5zFeX38goK5RpHjVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/+xGrR6MM0FNMLJa9voAoMt1THw2UenqQRc9br2c2jQIgOwPO344O0Xd42D9vYsD7QswvdzIV42uMUb06gT9IdXo="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.11rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.11rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div id=\"123\">2</div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.11rc1","dist":{"shasum":"9bf8520c341709f4f31f68fefaf26d5d92b13244","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.11rc1.tgz","integrity":"sha512-VtmcagUS0SVMg1LSyo6maALhkSXB1l8MbKoZaQk4yAb+thbsGA5B6J1eRhngBTvlYJ25SorS/ppxWl9+WrcfxQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID9+LgOHB7HRcxHJU/mOI8W09HEh05guu1pZZYUSEwdXAiEAmJO9PJHRFvjF0aLaJ6gsmuwdh+kAwMa3k5PRd35P8S4="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"directories":{}},"2.0.12rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.12rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div><div id=\"123\">2</div></div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.12rc1","dist":{"shasum":"a444ad700f2510db6b7db567fec8dabb31c897ed","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.12rc1.tgz","integrity":"sha512-MuquVIljJNjapTAbqaez3ooC4W8uE/iqHW72fYyYUcPon8KGlj12FssMRhJN7qqVm/A4WI5IRbb6TguO/bLlRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9U7F91Ye17O7zpDPN0jI/dX2vghLBoN3sfzx+Jta1hAiEA/49LW9ymtVI4/syl4TLafXMLjAimdgq3KzBDyokQt5E="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}]},"2.0.14rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.14rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div><div id=\"123\">2</div></div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","_id":"jqtpl@2.0.14rc1","dist":{"shasum":"34ced3aaee7e4f65f74138322dcd6caa5d01d69f","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.14rc1.tgz","integrity":"sha512-fKonAJOE7JH7Wn8of7CiY0hLVAa2TuU3O4GM6JlXcw69B2b+vnenu72/yy8vLdJKM7yCLsb9O3FRSJAPleKCiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB07iCafD+i5MLBaLqQ4ItwBbCgNxS6lZPJt6owiGo+YAiEApL24VYVhQaHt8SJQBMUn3gJAwyA666e+toHvoai+6vE="}]},"_npmVersion":"1.1.49","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}]},"2.0.15-rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.15-rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div><div id=\"123\">2</div></div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","readmeFilename":"readme.md","bugs":{"url":"https://github.com/kof/jqtpl/issues"},"_id":"jqtpl@2.0.15-rc1","dist":{"shasum":"2952fbf545693798c19b7a3b224566cc4596b443","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.15rc1.tgz","integrity":"sha512-B8gWrkJ6tsww8JKUO45FkDzrlCAJlrqEUERwRKkp300PqQmpVUF4jaoJDSFUYKx6wVOvmg5RF8R1nbDq91bRIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIASw5kTN4a45fMUI7VJQ8a3QfESpdVkz+kqLUNUPXyY4AiEAgQuqZk7nFxE6kUv6hmjJXExlIQ9u7pa+Qtkk3ZdQNUQ="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}]},"2.0.16-rc1":{"name":"jqtpl","description":"A template engine for nodejs, browser and any other javascript environment","version":"2.0.16-rc1","author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"keywords":["template","engine","jquery","jquery-tmpl","logic-less"],"engines":{"node":"*"},"dependencies":{"underscore":"1.4.x"},"devDependencies":{"express":"3.0.x","qunit":"0.5.x","request":"2.9.x"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## A template engine for nodejs, browser and any other javascript environment.\n\n- Logic-less.\n- Extendable - implement your own tags.\n- Html escaped per default.\n\n### Originally started as a port of jquery templates.\n\nhttp://github.com/jquery/jquery-tmpl\n\nhttp://api.jquery.com/category/plugins/templates/\n\n**Now compatibility to the original engine is dropped as jquery-tmpl is not any more developed.**\n\n### Installation\n\t$ npm i jqtpl\n    $ make test\n\n## Template API\n\n### ${}, {{=}} print variable, array or function (escaped)\n\n- Print variable\n\n    \t// tpl\n        <div>${a}</div>\n    \t// code\n        jqtpl.render(tpl, {a:123});\n        // output\n        <div>123</div>\n\n- Print array\n\n        //tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, [{a:1},{a:2},{a:3}]);\n        // output\n        <div>1</div><div>2</div><div>3</div>\n\n- Print automatically detected function\n\n        // tpl\n        <div>${a}</div>\n        // code\n        jqtpl.render(tpl, {\n            a: function() {\n                return 1 + 5;\n           }\n        });\n        //output\n        <div>6</div>\n\n### {{if}} and {{else}}\n\n\t// tpl\n    {{if a == 6}}\n        <div>${a}</div>\n    {{else a == 5}}\n    \t<div>5</div>\n    {{else}}\n        <div>a is not 6 and not 5</div>\n    {{/if}}\n\n\t// code\n    jqtpl.render(tpl, {a:6});\n\n\t// output\n    <div>6</div>\n\n\t// code\n    jqtpl.render(tpl, {a:5});\n\n\t// output\n    <div>a is not 6</div>\n\n### {{each}} looping.\n\n\t// tpl\n    {{each(name, i) names}}\n        <div>${i}.${name}</div>\n    {{/each}}\n\n    // alternative syntax\n\t{{each names}}\n\t\t<div>${$index}.${$value}</div>\n\t{{/each}}\n\n\t// code\n    jqtpl.render(tpl, {names: ['A', 'B']});\n\n\t// output\n    <div>0.A</div><div>1.B</div>\n\n### {{html}} -  print unescaped html.\n\n\t// tpl\n    <div>{{html a}}</div>\n\n\t// code\n    jqtpl.render(tpl, {a:'<div id=\"123\">2</div>'});\n\n\t// output\n    <div><div id=\"123\">2</div></div>\n\n\n### {{!}} - comments.\n\n\t// tpl\n    <div>{{! its a comment}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div></div>\n\n### {{partial}} - subtemplates.\n\nRender subtemplates by passing a template string, template name or file name (serverside).\n\n**Note: passing json object with 2 curly brackets without any separation will break the engine: {{partial({a: {b: 1}}) 'mypartial'}}**\n\n\t// tpl\n    <div>{{partial({name: 'Test'}) '${name}'}}</div>\n    <div>{{partial 'myTemplate'}}</div>\n    <div>{{partial 'myTemplate.html'}}</div>\n\n\t// code\n    jqtpl.render(tpl);\n\n\t// output\n    <div>Test</div>\n\n\n### {{verbatim}} tag\n\nSkip a part of your template - leave it in original on the same place but without \"verbatim\" tag. If you render the result as a template again - it will be rendered.\n\nThe use case is to be able to render the same template partially on the server and on the client. F.e. a layout template can contain variables which needs to be rendered on the server and templates which need to be rendered on the client.\n\n    // mytemplate.html\n    <div>my name is ${name}</div>\n    {{verbatim}}\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n    {{/verbatim}}\n\n    // code\n    res.render('myaction', {name: 'Kof'});\n\n    // output\n    <div>my name is Kof</div>\n    <script id=\"my-template\">\n        <div>your name is ${userName}</div>\n    </script>\n\n\n## Engine API\n\n### require the module\n    var jqtpl = require('jqtpl');\n\n### jqtpl.render(markup, [data]);\n\nCompile and render a template. It uses `jqtpl.template` method. Returns a rendered html string.\n\n- `markup` html code or precompiled template name.\n- `data` optional object or array of data.\n\n### jqtpl.compile(markup, [name])\n\nCompile and cache a template string. Returns a `render` function which can be called to render the template, see `jtpl.render`.\n\n- `markup` html string.\n- `name` optional template name, if no name is passed - markup string will be used as a name.\n\n        // tpl\n        <div>${a}</div>\n\n        // code\n\n        // precompile an cache it\n        jqtpl.compile(tpl, 'myTemplate');\n\n        // render user a name\n        jqtpl.render('myTemplate', {a:1});\n\n        // delete the template from cache\n        delete jqtpl.cache['myTemplate'];\n\n        // output\n        <div>1</div>\n\n### jqtpl.cache\n\nA map of compiled templates.\n\n- `key` - template name or markup string.\n- `value` - compiled template function.\n\n### jqtpl.$\n\nA namespace for global helper functions, which can be used in every template.\n\n## Express specific stuff\n\n**Note: express will cache all templates in production!**\n\n### Usage\n\n    app.set('views', '/path/to/the/views/dir');\n    app.set('view engine', 'html');\n    app.set('layout', true);\n    app.engine('html', require('jqtpl').__express);\n\n### {{layout}} tag\n\nUsing layout tag in a view it is possible to define a layout within this view.\n\n\t// mylayout.html\n\t<html>\n\t{{html body}}\n    </html>\n\n    // myview.html\n    {{layout 'mylayout'}}\n\t<div>myview</div>\n\n    // myview1.html\n    {{layout({a: 1}) 'mylayout'}}\n    <div>myview1</div>\n\n    // output\n    <html>\n\t<div>myview</div>\n    </html>\n\n## Licence\n\nSee package.json\n","readmeFilename":"readme.md","bugs":{"url":"https://github.com/kof/jqtpl/issues"},"_id":"jqtpl@2.0.16-rc1","dist":{"shasum":"e29db19052623b60efd354f8b887f4e84888ba9d","tarball":"https://registry.npmjs.org/jqtpl/-/jqtpl-2.0.16rc1.tgz","integrity":"sha512-JfB/xjUIHbF8wp5jd6IZxnnxvTwFSehGwzGAety9q1Wy8B1uxGBTjrbZ0DxAqwsHm3mtUsqXnoj2232e5E3mNw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEUrNklu4JAntLkU+6QSsdPngdCADgqOD+Pv1oqh744QIhALZoEb1oXKD8ISO72FkK+XHU1jMb+meZ1f/ddYggz9ba"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"kof","email":"oleg008@gmail.com"},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}]}},"maintainers":[{"name":"kof","email":"oleg008@gmail.com"}],"author":{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},"repository":{"type":"git","url":"http://github.com/kof/jqtpl.git"},"time":{"modified":"2022-06-19T04:56:47.308Z","created":"2010-12-30T11:25:09.464Z","0.0.1":"2010-12-30T11:25:09.465Z","0.0.2":"2010-12-30T11:25:09.465Z","0.0.3":"2010-12-30T11:25:09.465Z","0.0.4":"2010-12-30T11:25:09.465Z","0.0.5":"2010-12-30T11:25:09.465Z","0.0.6":"2011-02-01T16:13:08.956Z","0.0.7":"2011-02-11T11:29:32.401Z","0.0.8":"2011-02-15T12:54:25.203Z","0.0.9":"2011-02-18T09:16:21.130Z","0.0.91":"2011-03-06T17:03:54.374Z","0.1.0":"2011-03-11T11:47:06.538Z","1.0.0":"2011-04-11T20:01:16.854Z","1.0.1":"2011-04-19T10:50:10.164Z","1.0.2":"2011-04-25T21:30:16.891Z","1.0.3":"2011-04-28T11:28:47.368Z","1.0.4":"2011-04-30T12:19:08.904Z","1.0.5":"2011-05-30T13:40:23.979Z","1.0.6":"2011-08-29T17:02:06.940Z","1.0.7":"2011-10-10T11:51:32.756Z","1.0.8":"2012-01-25T10:55:34.215Z","1.0.9":"2012-01-25T16:22:31.860Z","1.0.11":"2012-03-19T08:17:50.788Z","1.1.0":"2012-03-19T09:14:44.673Z","2.0.0rc1":"2013-01-01T17:23:12.395Z","2.0.1rc1":"2013-01-01T21:17:22.382Z","2.0.2rc1":"2013-01-01T22:22:18.145Z","2.0.3rc1":"2013-01-01T23:23:13.383Z","2.0.4rc1":"2013-01-02T00:56:55.458Z","2.0.5rc1":"2013-01-02T11:19:47.460Z","2.0.6rc1":"2013-01-03T13:02:31.118Z","2.0.7rc1":"2013-01-03T13:17:39.957Z","2.0.9rc1":"2013-01-10T16:41:53.655Z","2.0.10rc1":"2013-01-10T17:48:21.216Z","2.0.11rc1":"2013-01-12T11:32:27.847Z","2.0.12rc1":"2013-01-16T14:53:02.876Z","2.0.14rc1":"2013-01-23T02:15:14.707Z","2.0.15-rc1":"2013-10-30T09:01:42.994Z","2.0.16-rc1":"2013-10-31T21:31:13.069Z"},"users":{"fgribreau":true,"tunnckocore":true,"alexahdp":true}}