This is an example of using inline links when you are using the .vf-content
container.
Nunjucks syntax
Depending on your environment you'll want to use render
or include
. As a rule of thumb: server-side use include
, precompiled browser use render
. If you're using vf-eleventy you should use include
.
Using include
You'll need to pass a context object from your code or Yaml file (exampe), as well as the path to the Nunjucks template. Nunjucks' include
is an abstraction of render
and provides some additional portability.
{% set context fromYourYamlFile %}
- or -
{% set context = {
"component-type": "element",
"link_href": "JavaScript:Void(0);",
"buttonType": "default"
}
%}
{% include "../path_to/vf-link/vf-link.njk" %}
Using render
This approach is best for bare-bones Nunjucks environments, such as precompiled templates with the Nunjucks slim runtime where include
is not be available.
{% render '@vf-link', {
"component-type": "element",
"link_href": "JavaScript:Void(0);",
"buttonType": "default"
} %}
HTML
<div class="vf-stack vf-stack--400">
<!-- Primary -->
<a href="JavaScript:Void(0);" class="vf-link">A text link</a>
<!-- Primary Hover -->
<a href="JavaScript:Void(0);" class="vf-link vf-link--hover">A text link with :hover</a>
<!-- Primary Visited -->
<a href="JavaScript:Void(0);" class="vf-link vf-link--visited">A text link with :visited</a>
<!-- Primary Disabled -->
<a href="JavaScript:Void(0);" class="vf-link" disabled>A text link that is disabled</a>
<p class="vf-u-margin__bottom--0 vf-text-body vf-text-body--2">This is an example of using <a href="JavaScript:Void(0);">inline links</a> when you are using the <code>.vf-content</code> container.</p>
</div>