render-async v1.0.7
render-async
An express template renderer that uses an object to potentially render asynchronously. Supported are layout():
<% locals.title = "Rich's Calendar"; layout('_layout.js.html') %><p>Rich was Here</p>and in _layout.js.html:
<!Doctype html><html><body><%= body() %></body></html>include(), which always uses jQuery.ajax to do the including so that we can include dynamic resources too:
<!Doctype html><body>included from http://localhost:8080/test <p><%include('http://localhost:8080/test')%></p></body></html>Of course relative resources can be included too:
<!Doctype html><body>included from _included.js.html <p><%include('_included.js.html')%></p></body></html>Finally partials can be included:
<ul><% partial('partialinner.js.html', [{test: 1}, {test: 2}]) %></ul>Or the collection to be iterated over by the partial can be pulled in with jQuery.ajax like so:
<ul><% partial('partialinner.js.html', '/test2') %></ul>In both cases the same partialinner.js.html is used:
<li><%= test %></li>This is intended to be a step on the way to a progressive enhancement type web app that runs on a node server with backbone on the client to give a good experience to both browsers and crawlers or browsers with javascript turned off. To this end there is also a link() method that pulls a resource like a text/template in to a page as it is. The idea being that, in one go a page could be delivered to a browser that would have everything needed to run, with or without javascript.
i18n (gettext(), __()) is also supported through the i18n-abide library.