Discussion:
Node Template Engine Features, Comparisons, Benchmarks
Paul Armstrong
2011-09-27 00:18:51 UTC
Permalink
It turns out that there are a lot of tempting engines available for
Node.js.

Why not have a single place to reference the available template
engines and make an informed choice as to which to use?

Thus, I present:
http://paularmstrong.github.com/node-templates/

I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)

A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
Marak Squires
2011-09-27 07:27:29 UTC
Permalink
y u no weld?

https://github.com/hij1nx/weld

On Mon, Sep 26, 2011 at 5:18 PM, Paul Armstrong <
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board: http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Joshua Cohen
2011-09-27 14:59:52 UTC
Permalink
There's also hbs[1] which is an Express wrapper for Handlebars.js[2]

[1] https://github.com/donpark/hbs
[2] https://github.com/wycats/handlebars.js
Post by Marak Squires
y u no weld?
https://github.com/hij1nx/weld
On Mon, Sep 26, 2011 at 5:18 PM, Paul Armstrong <
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board: http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Paul Armstrong
2011-09-27 22:19:51 UTC
Permalink
Per suggestion by @Christophe Eymard, I've added benchmark tables for
all three steps: Compile-only, Render-only, and Compile + Render.
They're still deceiving, because, as pointed out and noted on the
page, some template engines cache the compiled templates (and possibly
some just cache better?) while others do not. This is, however, a
fatal flaw of the template engine, in my opinion.

@Arnout: Can you add in the information for EJS-in-browser, or point
me to it?

@Joshua: I'd be happy to accept a pull request if you add in
Handlebars.js

http://paularmstrong.github.com/node-templates/
Post by Joshua Cohen
There's also hbs[1] which is an Express wrapper for Handlebars.js[2]
[1]https://github.com/donpark/hbs
[2]https://github.com/wycats/handlebars.js
Post by Marak Squires
y u no weld?
https://github.com/hij1nx/weld
On Mon, Sep 26, 2011 at 5:18 PM, Paul Armstrong <
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board:http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
 --
Job Board:http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Christophe Eymard
2011-09-27 22:47:45 UTC
Permalink
This is, however, a
Post by Paul Armstrong
fatal flaw of the template engine, in my opinion.
Some have caching for sure, but do not activate it by default. Keeping a big
string of the template around is not necessarily a good thing (keeping a
path or URI is lighter imo).
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Nicholas Campbell
2011-09-27 12:49:37 UTC
Permalink
Jade has support for filters.

https://github.com/visionmedia/jade/blob/master/examples/nested-filters.jade

- Nick Campbell

http://digitaltumbleweed.com


On Mon, Sep 26, 2011 at 8:18 PM, Paul Armstrong <
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board: http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Christophe Eymard
2011-09-27 13:17:42 UTC
Permalink
Hi,

I think that the benchmarks could be improved a little ; right now, they're
compiling/rendering at each and every step. Not all template engines do
template caching by default.

Right now, the order is in the regular benchmark on my machine ; swig (77),
jqtpl (51), hamljs (3.14), ejs (2.4), Templ8 (1.7), jade (1.3), mu2 (0.8),
dust (0.57), jinjs (0.39), coffeekup (0.34) with re-compiling at every step.
(jinjs is an engine I develop, btw).

When caching the rendered template for all languages, the order is fairly
different ;

jinjs (185), dust (159), swig (91), ejs (81), hamljs (67), coffeekup (59),
jqtpl (53), jade (50), mu2 (26), Templ8 (20)

Most of the time, I don't care too much about compilation speed, since in a
correctly tuned environment this should only happen once (or when a source
file changes). I in fact designed JinJS for execution speed, but so far have
not really bothered to optimise the compiler.

I think that rendering speed is much more important, which is why I suggest
that the tests get separated in two categories ; compilation and execution.

Thoughts ?


On Tue, Sep 27, 2011 at 14:49, Nicholas Campbell <
Post by Nicholas Campbell
Jade has support for filters.
https://github.com/visionmedia/jade/blob/master/examples/nested-filters.jade
- Nick Campbell
http://digitaltumbleweed.com
On Mon, Sep 26, 2011 at 8:18 PM, Paul Armstrong <
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board: http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Paul Armstrong
2011-09-27 13:50:46 UTC
Permalink
@Marak: I was unaware of weld. As I mentioned, there are a *lot* of
template engines. I first implemented those that I knew about. I'd
welcome the addition if you could take a few moments to add it.

@Nicolas: I should probably clarify filters. Jade's filters are for
block rendering--the filters I mean are things like the ability to
output a Date object in whatever format you want, decided by the
template, or perhaps make a context string become titlecase, no matter
what case it currently is in.

@Christophe: There is already support in the benchmark suite for
separating out the render and compile steps. The displayed benchmarks
are meant to be more of an "out of the box" view of the benchmarks. My
guess is that most people won't know that they have to manual cache
the compile step on their own--typically, template engines do that for
them. I do, however, plan to add separate bench tables to the page for
each step–I just need to get the time to write a script that'll
convert node-bench output to an html table.

On Sep 27, 6:17 am, Christophe Eymard
Post by Christophe Eymard
Hi,
I think that the benchmarks could be improved a little ; right now, they're
compiling/rendering at each and every step. Not all template engines do
template caching by default.
Right now, the order is in the regular benchmark on my machine ; swig (77),
jqtpl (51), hamljs (3.14), ejs (2.4), Templ8 (1.7), jade (1.3), mu2 (0.8),
dust (0.57), jinjs (0.39), coffeekup (0.34) with re-compiling at every step.
(jinjs is an engine I develop, btw).
When caching the rendered template for all languages, the order is fairly
different ;
jinjs (185), dust (159), swig (91), ejs (81), hamljs (67), coffeekup (59),
jqtpl (53), jade (50), mu2 (26), Templ8 (20)
Most of the time, I don't care too much about compilation speed, since in a
correctly tuned environment this should only happen once (or when a source
file changes). I in fact designed JinJS for execution speed, but so far have
not really bothered to optimise the compiler.
I think that rendering speed is much more important, which is why I suggest
that the tests get separated in two categories ; compilation and execution.
Thoughts ?
On Tue, Sep 27, 2011 at 14:49, Nicholas Campbell <
Post by Nicholas Campbell
Jade has support for filters.
https://github.com/visionmedia/jade/blob/master/examples/nested-filte...
- Nick Campbell
http://digitaltumbleweed.com
On Mon, Sep 26, 2011 at 8:18 PM, Paul Armstrong <
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board:http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
 --
Job Board:http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Marak Squires
2011-09-27 22:26:18 UTC
Permalink
Paul -

I highly approve of your, "we accept pull requests" statement.

I will see what I can do to get more information about Weld added.

You rock! Thanks again for taking the time to make this list.

- Marak

On Tue, Sep 27, 2011 at 6:50 AM, Paul Armstrong <
Post by Paul Armstrong
@Marak: I was unaware of weld. As I mentioned, there are a *lot* of
template engines. I first implemented those that I knew about. I'd
welcome the addition if you could take a few moments to add it.
@Nicolas: I should probably clarify filters. Jade's filters are for
block rendering--the filters I mean are things like the ability to
output a Date object in whatever format you want, decided by the
template, or perhaps make a context string become titlecase, no matter
what case it currently is in.
@Christophe: There is already support in the benchmark suite for
separating out the render and compile steps. The displayed benchmarks
are meant to be more of an "out of the box" view of the benchmarks. My
guess is that most people won't know that they have to manual cache
the compile step on their own--typically, template engines do that for
them. I do, however, plan to add separate bench tables to the page for
each step–I just need to get the time to write a script that'll
convert node-bench output to an html table.
On Sep 27, 6:17 am, Christophe Eymard
Post by Christophe Eymard
Hi,
I think that the benchmarks could be improved a little ; right now,
they're
Post by Christophe Eymard
compiling/rendering at each and every step. Not all template engines do
template caching by default.
Right now, the order is in the regular benchmark on my machine ; swig
(77),
Post by Christophe Eymard
jqtpl (51), hamljs (3.14), ejs (2.4), Templ8 (1.7), jade (1.3), mu2
(0.8),
Post by Christophe Eymard
dust (0.57), jinjs (0.39), coffeekup (0.34) with re-compiling at every
step.
Post by Christophe Eymard
(jinjs is an engine I develop, btw).
When caching the rendered template for all languages, the order is fairly
different ;
jinjs (185), dust (159), swig (91), ejs (81), hamljs (67), coffeekup
(59),
Post by Christophe Eymard
jqtpl (53), jade (50), mu2 (26), Templ8 (20)
Most of the time, I don't care too much about compilation speed, since in
a
Post by Christophe Eymard
correctly tuned environment this should only happen once (or when a
source
Post by Christophe Eymard
file changes). I in fact designed JinJS for execution speed, but so far
have
Post by Christophe Eymard
not really bothered to optimise the compiler.
I think that rendering speed is much more important, which is why I
suggest
Post by Christophe Eymard
that the tests get separated in two categories ; compilation and
execution.
Post by Christophe Eymard
Thoughts ?
On Tue, Sep 27, 2011 at 14:49, Nicholas Campbell <
Post by Nicholas Campbell
Jade has support for filters.
https://github.com/visionmedia/jade/blob/master/examples/nested-filte.
..
Post by Christophe Eymard
Post by Nicholas Campbell
- Nick Campbell
http://digitaltumbleweed.com
On Mon, Sep 26, 2011 at 8:18 PM, Paul Armstrong <
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board:http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board:http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Arnout Kazemier
2011-09-27 13:59:58 UTC
Permalink
There are also browser version of EJS available.
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
tjholowaychuk
2011-09-28 03:18:53 UTC
Permalink
benchmarking template engines is *really* lame, if it's ACTUALLY a
bottleneck (aka you profiled first) then you shouldn't be using a
template engine at all, and I highly doubt that's the case.
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
Thus, I present:http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
tjholowaychuk
2011-09-28 03:19:46 UTC
Permalink
though I have to admit a lot of people will appreciate a list of
template engines for now, maybe show a snippet of what they look like
etc
Post by tjholowaychuk
benchmarking template engines is *really* lame, if it's ACTUALLY a
bottleneck (aka you profiled first) then you shouldn't be using a
template engine at all, and I highly doubt that's the case.
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
Thus, I present:http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Martin Nelson
2011-09-29 02:26:40 UTC
Permalink
+1

I probably would have not starting doing browser design again if I had to
deal with all those freak'n open/close html tags. Jade makes it a joy...
Post by tjholowaychuk
maybe show a snippet of what they look like
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Paul Armstrong
2011-09-29 02:47:28 UTC
Permalink
Showing a snippet of each is definitely on my list! The actual github source
could do that for people who aren't afraid to dig, but that doesn't seem
like a great solution. Dropping them into the gh-pages would be duplication
and more prone to human error.

I'm tempted to pull the site from github pages and move it to a small little
server so that more of this can be automated.

Does anyone know of free hosting for open-source node.js projects?
--
Paul Armstrong
Post by Martin Nelson
+1
I probably would have not starting doing browser design again if I had to
deal with all those freak'n open/close html tags. Jade makes it a joy...
Post by tjholowaychuk
maybe show a snippet of what they look like
--
Job Board: http://jobs.nodejs.org/
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Paul Armstrong
2011-09-28 03:47:16 UTC
Permalink
Post by tjholowaychuk
benchmarking template engines is *really* lame
While I agree with this to an extent, I think that it's important to
*know* that your template engine is not your bottleneck. I was
actually hoping that the benchmarks would be a lot closer for all of
these.

How would you feel about it if I pulled out those benchmarks into a
separate page and implemented another set of benchmarks that showed
just *how fast* all of these are?
Post by tjholowaychuk
benchmarking template engines is *really* lame, if it's ACTUALLY a
bottleneck (aka you profiled first) then you shouldn't be using a
template engine at all, and I highly doubt that's the case.
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
Thus, I present:http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
aaronblohowiak
2011-09-28 03:57:23 UTC
Permalink
https://github.com/visionmedia/haml.js - 199 Watchers
https://github.com/creationix/haml-js - 456 Watchers

Expect a pull request to test the `haml` npm package =)

- Aaron
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
Thus, I present:http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
tjholowaychuk
2011-09-28 16:37:34 UTC
Permalink
Tim's haml is a weird regexp hack, but I believe his works better in
the browser, though truthfully they are both pretty bad haha. I don't
disagree with benchmarking template engines in general, at least to
make sure that you're not epically messing up, but you shouldn't go
looking for problems in libraries, you should profile your application
and determine bottlenecks.
https://github.com/visionmedia/haml.js- 199 Watchershttps://github.com/creationix/haml-js- 456 Watchers
Expect a pull request to test the `haml` npm package =)
- Aaron
Post by Paul Armstrong
It turns out that there are a lot of tempting engines available for
Node.js.
Why not have a single place to reference the available template
engines and make an informed choice as to which to use?
Thus, I present:http://paularmstrong.github.com/node-templates/
I'm trying to keep the list to any template engines that are actually
still usable and/or actively developed. However, my facts may be off
on a few and my implementation for benchmarks may not be optimized.
(some of the docs for these leave much to be desired)
A million karma points to anyone that has more experience in some of
these template engines if they help out, contribute, fact check, or
fork and submit pull requests.
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Aikar
2011-09-28 21:17:36 UTC
Permalink
I also have an engine called Nova
http://github.com/aikar/nova

It's pure unrestricted javascript... so you can pretty much do anything you
want with it :P

Just, built in a way to make it more flexible with templating in mind.

I never publicly announced it due to me not being satisfied with the
documentation, but it works good.
not Express compat due to Async design (well at least I havent checked if
express supports async now or not?)

I did hack a version together than ran in a browser for a js-perf test once,
but that file is out of date... ill add it in the future.
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/***@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/***@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Loading...