5 ms·
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 th
by darrhiggs 13y ago
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/
- jlongster 13y agoFair enough! Swig is an interesting project too. The problem I have with swig is that it takes a lot of shortcuts for speed and simplicity of the code. For example, if you have a js function that you call in your template, like {{ foo() }}, the output is not autoescaped ever, regardless of your autoescaping setting. That's dangerous. Would it help if nunjucks had a "strict" mode that removed a few tags like "set"? EDIT: that and it seems to be completely against precompiling templates for the browser, which is insane
- v13inc 13y agoI'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 13y agoAbsolutely. 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