- Add backquote as supported tag symbol
- Bump epath to path 1.3.1 (same gem but renamed + bump)
- Moved awesome_print to extra dependencies (not a proper dependency then!)
-
The scoping mechanism has been clarified and enhanced (mostly private APIs). In particular,
- Template#render and Dialect#render now accepts multiple scoping objects and chain them as a unique scope. The latter is branched with template locals, which are always the most-specific and therefore have highest priority.
- RootScope as been renamed to NullScope, Scope.root to Scope.null accordingly
- ProxyScope has been removed to keep scopes linear chains.
-
Added Dialect#context, which allows knowing the subject of the less specific scope, that is the first argument of Dialect#render and Template#render. In Sinatra/Tilt situation, this simply correspond to the
scope
, typically the Sinatra app. -
Dialect#evaluate (through Scope#evaluate) now accepts an optional block for specifying a computed default value instead of failing.
-
WLang::Html partial tag >{...} now recognizes a Proc and simply renders the result of calling it. This allows to use >{yield} in layouts instead of the less idomatic +{yield}.
- Fixed a bug when parsing "hello { ${wlang} }" constructs (typically javascript or java) (wlang inner constructions was not properly parsed)
- Fix support for 1.8.7 and jruby (undefined method `ord' for String)
-
Enhancements
- Birthday!