beta This component version is ready to be used but is still in active development.

Video Teaser block

github location npm version

Variants

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 (example), 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": "block",
  "vf_video_teaser__title": "More on our YouTube channel",
  "teasers": [
    {
      "vf_video_teaser__link": "A presentation on something to do with Life Sciences.",
      "vf_video_teaser__poster": "https://acxngcvroo.cloudimg.io/v7/https://www.embl.org/files/wp-content/uploads/2020/04/SEMINARS_1102_lecture_vision2020_hd_retouched_500px.jpg",
      "video_href": "JavaScript:Void(0);"
    },
    {
      "vf_video_teaser__link": "Take a look at the fancy Helix building",
      "vf_video_teaser__poster": "https://acxngcvroo.cloudimg.io/v7/https://www.embl.org/files/wp-content/uploads/2020/04/CONFERENCES_NonCodingSymp_7804_Retouched_500px.jpg",
      "video_href": "JavaScript:Void(0);"
    }
  ]
}
 %}
{% include "../path_to/vf-video-teaser/vf-video-teaser.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-video-teaser', {
  "component-type": "block",
  "vf_video_teaser__title": "More on our YouTube channel",
  "teasers": [
    {
      "vf_video_teaser__link": "A presentation on something to do with Life Sciences.",
      "vf_video_teaser__poster": "https://acxngcvroo.cloudimg.io/v7/https://www.embl.org/files/wp-content/uploads/2020/04/SEMINARS_1102_lecture_vision2020_hd_retouched_500px.jpg",
      "video_href": "JavaScript:Void(0);"
    },
    {
      "vf_video_teaser__link": "Take a look at the fancy Helix building",
      "vf_video_teaser__poster": "https://acxngcvroo.cloudimg.io/v7/https://www.embl.org/files/wp-content/uploads/2020/04/CONFERENCES_NonCodingSymp_7804_Retouched_500px.jpg",
      "video_href": "JavaScript:Void(0);"
    }
  ]
} %}
                
HTML
<div class="vf-video-teaser | vf-stack vf-stack--400">

  <h3 class="vf-video-teaser__title">More on our YouTube channel</h3>
  <article class="vf-video-teaser__item | vf-stack vf-stack--400">
    <img class="vf-video-teaser__image" src="https://acxngcvroo.cloudimg.io/v7/https://www.embl.org/files/wp-content/uploads/2020/04/SEMINARS_1102_lecture_vision2020_hd_retouched_500px.jpg" alt="" loading="lazy">
    <a href="JavaScript:Void(0);" class="vf-video-teaser__link vf-link">A presentation on something to do with Life Sciences.</a>
  </article>
  <article class="vf-video-teaser__item | vf-stack vf-stack--400">
    <img class="vf-video-teaser__image" src="https://acxngcvroo.cloudimg.io/v7/https://www.embl.org/files/wp-content/uploads/2020/04/CONFERENCES_NonCodingSymp_7804_Retouched_500px.jpg" alt="" loading="lazy">
    <a href="JavaScript:Void(0);" class="vf-video-teaser__link vf-link">Take a look at the fancy Helix building</a>
  </article>

</div>
              

Examples

Installation info

This component is distributed with npm. After installing npm, you can install the vf-video-teaser with this command.

$ yarn add --dev @visual-framework/vf-video-teaser

Sass/CSS

The source files included are written in Sass(scss). You can point your Sass include-path at your node_modules directory and import it like this.

@import "@visual-framework/vf-video-teaser/index.scss";

Make sure you import Sass requirements along with the modules. You can use a project boilerplate or the vf-sass-starter

Changelog

Changelog

2.0.0

  • Uses vf-stack to space component.
  • Adds if statement for the heading.
  • Makes it possible to have more than one teaser.
  • Makes the link the whole 'item' like vf-card.

1.0.0

  • adds loading="lazy" to the img element for better performance

1.0.0-alpha.8

  • Version bump only for package @visual-framework/vf-video-teaser

1.0.0-alpha.7

  • Version bump only for package @visual-framework/vf-video-teaser

Assets



File system location: components/vf-video-teaser

Find an issue on this page? Propose a change or discuss it.