CanJS templates should be mostly compatible with Handlebars (which you can use in Node) and the NodeJS EJS renderer (although for live-bound EJS that uses .attr you'd need some kind of simple wrapper).
Generating indexable pages with Steal.crawl worked well for our online documentation. There are also many other projects that can do that using PhantomJS.