Will create a key and value variable that children may access without the need for depthed variable references. In the example above, {{key}} is identical to {{@../key}} but in many cases is more readable.

The with Block Helper

Normally, Handlebars templates are evaluated against the context
passed into the compiled method.

The lookup helper

The lookup helper allows for dynamic parameter resolution using Handlebars
variables. This is useful for resolving values for array indexes.

{{#each bar}}{{lookup ../foo @index}}{{/each}}

The log block helper

The log helper allows for logging of context state while executing
a template.

{{log "Look at me!"}}

Delegates to Handlebars.logger.log which may
be overriden to perform custom logging.

Any number of arguments may be passed to this method and all will be forwarded to the logger.

{{log "This is logged" foo "And so is this"}}

The log level may be set using the level hash parameter. Supported values are debug, info, warn, and error. When omitted, info is the default value,

{{log "Log!" level="error"}}

Logging is conditional based on the level and to value set in Handlebars.logger.level, which defaults to info. All log statements at or above the current level will be output.

The blockHelperMissing helper

Implicitly called when a helper can not be directly resolved in the environment's helpers hash.

{{#foo}}{{/foo}}

will call this helper with the resolved value of foo on the current context and
the options.name field set to "foo". For instances where there is no
registered helper named foo.

This may be overriden by users that wish to change the behavior of block evaluation.
For example

Handlebars.registerHelper('blockHelperMissing', function(context, options) {
thrownewHandlebars.Exception('Only if or each is allowed');
});

could be used to prevent the use of mustache-style block evaluation in favor of the
more efficent if and each helpers.

The helperMissing helper

Internal helper that is called when a potential helper expression was not found in either the
environment helpers or the current context. For cases where both are run, this is run prior
to the blockHelperMissing helper.

{{foo}}{{foo bar}}{{#foo}}{{/foo}}

Will each call this helper, passing any arguments that would have been otherwise passed to a
helper of the same name. This helper is not called when using knownHelpersOnly
mode.

This may be overriden by applications. To force the existence of the field, the following may
be used: