Usage: {{#link href="/about/"}}About{{/link}}
Description
{{#link}}
is a block helper that creates links with dynamic classes. In its basic form it will create an anchor element that wraps around any kind of string, HTML or handlebars constructed HTML.
With additional options it can have an active class
or target
behaviour, or onclick
JavaScript events. A href
attribute must be included or an error will be thrown.
Simple example
{{#link href="/about/"}}..linked content here..{{/link}}
Will output:
<a href="/about/">..linked content here..</a>
All attributes associated with the <a></a>
element can be used in {{#link}}
. Check out the MDN documentation on the anchor element for more information.
Variables
Handlebars variables can be used for attribute values as well as strings. Variables do not need be wrapped with quotations:
Simple variables example
{{#link href=@site.url}}Home{{/link}}
Advanced variables example
{{#foreach posts}}
{{#link href=(url) class="post-link" activeClass="active"}}
{{title}}
{{/link}}
{{/foreach}}
Dynamic attributes
activeClass
By default the active class outputted by {{#link}}
will be nav-current
, this is consistent with our navigation helper. However it can be overwritten with the activeClass
attribute:
activeClass
Example
{{#link href="/about/" activeClass="current"}}About{{/link}}
When on the "/about/" URL it will output:
<a href="/about/" class="current">About</a>
activeClass
can also be given false
value (activeClass=false
), which will output an empty string. Effectively turning off the behaviour.