But at some point underneath all the abstraction, isn't that exactly what this has to do to even work?
pajama.js (pjs) is a serverside and clientside templating engine...
GitHub only has the first commit so I don't think it is production ready but I find the idea to be novel and interesting.P.S. The <title> on http://www.pajamajs.com/ is not set yet.
No. It's obfuscating HTML with a JS wrapper.
http://www.ractivejs.org/ (also currently on the front page) uses a pattern that reduces friction while keeping responsibilities where they belong, i.e. HTML for markup and JS for interactivity.
I'd also like to point out that in a good portion of JS projects HTML and JS have a symbiotic relationship so the notion that you have to scrub out all the HTML as "best practice" is entirely incorrect in my eyes, thus the failing/winning example makes no sense without context. Is that HTML pre-baked into the page by the server? Then it makes complete sense to be that way. Are you hand generating it from strings? Not ideal, but there are tons of far more elegant ways to solve that already and they don't require you to still be writing HTML in your JS (even if it looks like JSON it still has a single purpose and is wedged directly into your code).
At least existing templating solutions call out to external templates in locations where the HTML "should be".