

Show HN: Nunjucks – Node templates with inheritance, asynchronous control - jlongster
http://jlongster.github.io/nunjucks/

======
darrhiggs
Personally I settled on swig[1] for a recent project. My reasoning being that
Nunjucks may contain more features, but, I prefer a constrained set of
features that forces me to think twice before I implement & use logic in a
view.

It's a great project anyway and it did take 2-3 weeks to decide between the
two. Good luck with the project!

[1]
[http://paularmstrong.github.io/swig/](http://paularmstrong.github.io/swig/)

~~~
v13inc
I'm really excited to check out this Nunkucks project. I ended up evaluating a
bunch of JS Jinja-style libraries and also ended up choosing SWIG.

Unfortunately, SWIG does not run well in the browser. The code is converted
with Browserify, and the browser tests only cover the simplest use cases of
the library. Thinks broke down horribly as soon as you used a tag ({% extends
%}, {% include %}) that needs to load a template.

Is the browser a first-class citizen with Nunjucks? I'd like a library that
supports 100% of the features (including compiling templates) in the browser.

~~~
jlongster
Absolutely. We run 100% of the tests in the browser, and you can run them by
going here:
[http://jlongster.github.io/nunjucks/files/tests/browser/](http://jlongster.github.io/nunjucks/files/tests/browser/)

If you want to optimize in production, there is advanced support for
precompiling your templates as well:
[http://jlongster.github.io/nunjucks/api.html#precompiling](http://jlongster.github.io/nunjucks/api.html#precompiling)

------
curiouslearn
This is an awesome templating engine. I have heard about so many javascript
templating engines, but not this one before, despite the fact that this
appears to be better than all of them.

------
coolsunglasses
The Clojure alternative (simpler):
[https://github.com/yogthos/Selmer/](https://github.com/yogthos/Selmer/)

~~~
jlongster
Awesome! A solid templating engine with that syntax makes it a lot easier to
move languages and ecosystems. I've been meaning to write more Clojure so it's
good to know this exists.

------
elwell
:O the background sparks are different every pageload.

------
gkoberger
Very cool, James!

~~~
jlongster
Thanks!

