kpdecker
9821da8df7
Move aliases and registers into context object.
2011-07-31 14:10:32 -05:00
kpdecker
2d538baf72
Use x = a[y] || b[y] rather than if exists lookup
2011-07-31 11:27:47 -05:00
kpdecker
c7e8ddd6b5
Minimizable id aliases.
2011-07-31 11:25:40 -05:00
kpdecker
6fcebec713
buffer +=
2011-07-31 11:21:18 -05:00
kpdecker
993c793565
Avoid eval when running in VM+Compiler mode
2011-07-30 16:55:26 -05:00
kpdecker
72ea816cf7
Remove debug code
2011-07-30 16:11:37 -05:00
kpdecker
ccf32821df
Throw a handlebars exception when attempting to use template partials in VM mode.
2011-07-30 16:01:43 -05:00
kpdecker
82a1b0e85c
Temporary Handlebars.compile implementation in compiler
2011-07-30 15:24:49 -05:00
kpdecker
600a669d12
Expose Handlebars.precompile method from the compiler.
2011-07-30 15:24:14 -05:00
kpdecker
5aa12b5e09
Rename Handlebars.VM.compile to Handelbars.VM.template
2011-07-30 15:23:01 -05:00
kpdecker
4a9270aa38
Fix module loading within node
2011-07-30 12:18:56 -05:00
kpdecker
59f5331db4
Phase 2 of precompiled extraction:
...
Use string representations to pass around the function context
2011-07-30 11:23:24 -05:00
kpdecker
74bd8cac60
Phase 1 of precompiled extraction:
...
Separate template logic from container construction.
2011-07-30 11:10:13 -05:00
kpdecker
542d64f0be
Remove unnecessary var declaration.
2011-07-30 10:44:07 -05:00
kpdecker
5e611205ac
Create compiler base file.
2011-07-30 10:38:36 -05:00
kpdecker
2e77f1c777
Remove the debug file (Suspect broken Due to missing class references)
2011-07-30 10:33:40 -05:00
kpdecker
8c49721c70
Move visitor into compiler subdir
2011-07-30 10:28:31 -05:00
kpdecker
2fc01ff73a
Move art into compiler dir
2011-07-30 10:25:30 -05:00
kpdecker
bba08ad95f
Move printer into compiler dir
2011-07-30 10:23:37 -05:00
kpdecker
034dafddac
Move parser file into compiler subdir
2011-07-30 10:14:59 -05:00
kpdecker
f2dccb753f
Break compiler and vm logic into separate files.
2011-07-30 10:11:13 -05:00
kpdecker
471f3b9748
Reduce scope of global variable
2011-07-29 22:45:16 -05:00
kpdecker
a927125909
Can access context variables masked by helpers by scoping with 'this.'
2011-07-29 20:53:47 -05:00
tomhuda
059a80661d
* Remove legacy support for inverse sections as additional parameters.
...
* Unify inverse and normal block helpers
* Make Handlebars.Exception inherit from JS Error
2011-07-07 23:09:33 -07:00
Alan Johnson
37e36bf137
Merge pull request #66 from rgrove/fix-empty-array-if
...
The "if" block helper shouldn't treat empty arrays as truthy
2011-06-27 03:15:50 -07:00
gleitz
52900c89f7
removed references to .boolean, which broke the YUI Compressor
2011-06-22 17:18:07 -04:00
gleitz
be8f4f6fb9
Updated the boolean functions to work with YUI compressor. Linted other files for consistency
2011-06-22 13:54:17 -04:00
tomhuda
1482f1ae72
Add BOOLEAN support
2011-06-01 22:57:22 -07:00
tomhuda
0f78345d0c
Add support for INTEGER expressions
2011-06-01 22:33:48 -07:00
Yehuda Katz
4eeda34ad2
Merge pull request #79 from schuyler1d/numbers
...
allow number indexes in paths for array access
2011-05-25 17:08:18 -07:00
Yehuda Katz
04b359d15b
Merge pull request #86 from jblotus/master
...
A few bug fixes
2011-05-25 17:06:31 -07:00
James Fuller
28d35180bd
fixing partials with int names
2011-05-24 00:40:09 -04:00
Schuyler Duveen
1aa512d227
allow number indexes in paths for array access
2011-05-10 12:00:40 -04:00
Ryan Grove
2f4644529c
Remove / from the list of escaped chars and add `.
...
It's probably fine not to escape /, since its only danger is in ending
entities (like &/). This isn't a problem for us, since the badChars
regex won't allow it and the & will get escaped.
It turns out ` can be used to quote attribute values in IE, so it needs
to be escaped along with " and '.
2011-05-09 15:19:23 -07:00
Ryan Grove
d109e31f62
Merge branch 'master' into fix-escaping
...
Conflicts:
lib/handlebars/utils.js
2011-05-09 14:59:51 -07:00
tomhuda
60040e60fb
Update specs and code so that the function passed to block helpers has the same API as regular compiled templates
2011-05-04 00:03:50 -07:00
tomhuda
81071dd22c
Add VERSION constant
2011-05-03 20:39:24 -07:00
tomhuda
5d99572006
Rename vm.js to compiler.js
2011-05-03 20:38:28 -07:00
tomhuda
d83e1c7484
Remove unnecessary original runtime implementation
2011-05-03 20:38:06 -07:00
tomhuda
201ecbd7bc
Improve Handlebars subclassability
2011-05-03 19:30:32 -07:00
tomhuda
9333d1210d
Add support for passing String parameters to helper
2011-05-03 19:30:32 -07:00
tomhuda
2615fa4bd1
Add a default helperMissing to help catch errors and restore old behavior
2011-05-03 19:30:32 -07:00
Yehuda Katz
3e5bc84058
Merge pull request #69 from rgrove/allow-hyphens.
...
Allow ids to contain hyphens. Fixes #36 .
2011-05-03 19:01:37 -07:00
Yehuda Katz
5d8480fa8a
Merge pull request #48 from jasondavies/master.
...
Fix multi-backslash escaping
2011-05-03 18:59:59 -07:00
Andrew Benton
b0df69ddec
add missing semicolon
2011-04-30 19:07:38 -07:00
Ryan Grove
b324d002ca
Allow ids to contain hyphens. Fixes #36 .
...
Previously, a mustache like {{foo-bar}} would generate a
parse error, which was a departure from the behavior of
other Mustache implementations.
2011-04-28 22:30:21 -07:00
Ryan Grove
b291a1ad8c
Add ", ', and / to the list of chars that need HTML escaping.
...
Previously, only < and > were escaped. This meant that any Handlebars
template that used user input in an HTML attribute value was wide open
to a trivial XSS exploit. Note that unquoted attribute values are still
open to attack, but this set of characters at least brings Handlebars in
line with other Mustache implementations and other template languages.
See the OWASP XSS prevention cheat sheet (rule #1 ) for the rationale
behind escaping these characters:
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
2011-04-25 11:15:53 -07:00
Ryan Grove
dec196b4d9
The "if" block helper shouldn't treat empty arrays as truthy.
...
Given the data {foo: []}, the following template previously considered
foo to be truthy when it shouldn't have:
{{#if foo}}
You should not see me!
{{else}}
You should see me!
{{/if}}
2011-04-20 16:56:37 -07:00
tomhuda
6a80531513
Merge branch 'master' of https://github.com/tf/handlebars.js into tf-master
2011-03-26 14:04:49 -07:00
Tim Fischbach
a1b1b160cf
inserting missing return statement in unless helper (fixes issue #51 )
2011-03-09 11:51:00 +01:00