Merged
Conversation
These allow for a given block to be wrapped in helper methods or metadata and allow for more control over the current container and method before the code is run.
Allows for partials to be defined within the current template to allow for localized code reuse as well as for conditional behavior within nested partials. Fixes #1018
Collaborator
Author
|
Released in 4.0.0 |
This was referenced Oct 29, 2015
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is intended for merging into master but also dependent on #1076 so PRing against that branch for discussion right now.
This implements inline partials in the form of:
Which exposes the
footemplate to the current block and all children. This also adds a special case for partial blocks to support template inheritance:Which exposes the
contentpartial to thelayoutpartial, allowing for overrides and other conditional behaviors.This is implemented through the more generic decorators feature, which are loosely inspired by @wycats's javascript decorators proposal. These allow a declarative means to both annotate particular blocks with metadata as well as to wrap in behaviors when desired, prior to execution. In addition to the inline partial helper case, this allows for blocks to be flagged with metadata, using this example:
/cc @wycats, @mmun, @ErisDS