Allow direct data for include and layout tags #167
Merged
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.
Allows passing data as a variable, rather than an object literal, both for the
{{ include }}tag and{{ layout }}tag.Since paths can include JavaScript themselves, as in, for example,
{{ include "./template" + ext }}, this requires a bit of care. This solution decides whether the last "word" in the tag is a data argument by looking at what is in front of it; if it is a quote character of any kind, or a word character, followed by some whitespace, then the last name token is a data variable.Naturally, there are edge cases. Currently this does not allow for passing something like
data.fooordata[0], but presumably can be extended to do so.Resolves #163.