- Add support for whitespace control,
{{var~}}
(Handlebars 1.1) - Add "list.length" support
- Add
template
method which creates a renderer from precompiled code.
- Fix resolving unicode fields in Python 2
- Add support for raw blocks (issues: #24, #25, #36)
- Add support for dynamic partials
- Add travis integration (flake8 and coverage)
- Make dictionary calls take precedence over attributes and .get (issue #16)
- Add else support in inverted if blocks (issue #17)
- Improve error parsing and reporting (issue #23)
- Port over a few more tests from handlebars.js
- Changed
pybars.__version__
tuple topybars.__version_info__
,pybars.__version__
is now a string - Added
Compiler().precompile(source)
that will return Python source code to allow for caching of compiled templates and easier debugging - Template code now checks to ensure it is being run with the same version of pybars that is was generated with
- The library now always throws
pybars.PybarsError
on errors - Added support for nested subexpressions
- Block helpers by themselves on lines no longer introduce any whitespace
- Added
tests.py
test runner and--debug
flag - Moved tests out of
pybars
namespace
- Fixed a bug with nested scopes and parent paths (
../
)
- Expose
pybars.Scope()
so helpers can properly scope data so../
will work
- Added subexpression support
- Changed
False
to printfalse
andTrue
to printtrue
- Added support for
null
andundefined
literals
- Added support for segment literals (
[foo bar]
) - Fixed a bug related to newlines in the middle of tags
- Added support for single-quoted string literals
- Added the
lookup
helper - Added support for quoted partial names
- Added support for negative integers
- Added support for parent acccess to data elements (
@../
) - Added support for keyword args being passed to partials
- Added explicit
@_parent
data access - Added
@root
data support - Added
@index
,@key
,@first
and@last
data access - Added support for object attributes within the
#each
helper - Added Python 3 support