Перед тем как приступить к подробному разбору полётов, сразу взглянем на пример использования, который скорей нагляднее отразит суть, чем что-либо ещё. Код создания сервера приводить не буду, просто опишу сам шаблон и парсинг под определённым контекстом.
HTML-шабон:
<html> <head> <title>#{PageTitle}</title> </head> <body> <h1>#{PageTitle}</h1> <ul> <# for (var i=0; i<List.length; i++) { #> <li> <# if (typeof List[i] !== 'object') { show(List[i]); } else { show(List[i].name +' - '+ List[i].note); } #> </li> <# } #> </ul> </body> </html>
Контекст:
var context = { PageTitle: 'jJSt test', List: ['First', {name:'Second', note:'2th'}, 'Third'], }; var result = njst.parse(html, context, {debug:1});