News Container container

Use this component to show a section of news content. It also offers a vf-news-container--featured variant with support for vf-summary for when news is a higher level and, well, featured content on layout.

Recommendations

In a case where the descriptive text on the image is a repetition of the adjacent text, it is recommended to use a null alternative text on the image

github location npm version

Variants

Projects

4 September 2019 News image alt

news article summary

Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.

4 September 2019 News image alt

news article summary

Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.

4 September 2019 News image alt

news article summary

Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.

4 September 2019 News image alt

news article summary

Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.

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" : "container",
"section-title" : "Latest Press Releases",
 }
%}
{% include "../path_to/vf-news-container/vf-news-container.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-news-container', {
  "component-type" : "container",
  "section-title" : "Latest Press Releases",}
%}
                
HTML
<section class="vf-news-container | embl-grid">
  <div class="vf-section-header">
    <h2 class="vf-section-header__heading"> Projects</h2>
  </div>
  <div class="vf-news-container__content">
    <article class="vf-summary vf-summary--news">
      <span class="vf-summary__date">4 September 2019</span>
      <img class="vf-summary__image" src="../../assets/vf-summary/assets/vf-summary--news-has-image.jpg" alt="News image alt" loading="lazy">
      <h3 class="vf-summary__title">
        <a href="" class="vf-summary__link">
          news article summary
        </a>
      </h3>
      <p class="vf-summary__text">
        Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.
      </p>
    </article>
    <article class="vf-summary vf-summary--news">
      <span class="vf-summary__date">4 September 2019</span>
      <img class="vf-summary__image" src="../../assets/vf-summary/assets/vf-summary--news-has-image.jpg" alt="News image alt" loading="lazy">
      <h3 class="vf-summary__title">
        <a href="" class="vf-summary__link">
          news article summary
        </a>
      </h3>
      <p class="vf-summary__text">
        Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.
      </p>
    </article>
    <article class="vf-summary vf-summary--news">
      <span class="vf-summary__date">4 September 2019</span>
      <img class="vf-summary__image" src="../../assets/vf-summary/assets/vf-summary--news-has-image.jpg" alt="News image alt" loading="lazy">
      <h3 class="vf-summary__title">
        <a href="" class="vf-summary__link">
          news article summary
        </a>
      </h3>
      <p class="vf-summary__text">
        Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.
      </p>
    </article>
    <article class="vf-summary vf-summary--news">
      <span class="vf-summary__date">4 September 2019</span>
      <img class="vf-summary__image" src="../../assets/vf-summary/assets/vf-summary--news-has-image.jpg" alt="News image alt" loading="lazy">
      <h3 class="vf-summary__title">
        <a href="" class="vf-summary__link">
          news article summary
        </a>
      </h3>
      <p class="vf-summary__text">
        Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.
      </p>
    </article>
  </div>

  <!--
  <div class="vf-news-container__sidebar">
    Optional vf-news-container__sidebar
  </div>
  -->
</section>
              
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" : "container",
"section-title" : "Latest Press Releases",
 }
%}
{% include "../path_to/vf-news-container/vf-news-container.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-news-container', {
  "component-type" : "container",
  "section-title" : "Latest Press Releases",}
%}
                
HTML
<section class="vf-news-container vf-news-container--featured | vf-stack">
  <div class="vf-section-header">
    <h2 class="vf-section-header__heading"> Projects</h2>
  </div>
  <div class="vf-news-container__content | vf-grid vf-grid__col-4">
    <article class="vf-summary vf-summary--news">
      <span class="vf-summary__date">4 September 2019</span>
      <img class="vf-summary__image" src="../../assets/vf-summary/assets/vf-summary--news-has-image.jpg" alt="BioSamples" loading="lazy">
      <h3 class="vf-summary__title">
        <a href="" class="vf-summary__link">
          news article summary
        </a>
      </h3>
    </article>
    <article class="vf-summary vf-summary--news">
      <span class="vf-summary__date">4 September 2019</span>
      <img class="vf-summary__image" src="../../assets/vf-summary/assets/vf-summary--news-has-image.jpg" alt="BioSamples" loading="lazy">
      <h3 class="vf-summary__title">
        <a href="" class="vf-summary__link">
          news article summary
        </a>
      </h3>
    </article>
    <article class="vf-summary vf-summary--news">
      <span class="vf-summary__date">4 September 2019</span>
      <img class="vf-summary__image" src="../../assets/vf-summary/assets/vf-summary--news-has-image.jpg" alt="BioSamples" loading="lazy">
      <h3 class="vf-summary__title">
        <a href="" class="vf-summary__link">
          news article summary
        </a>
      </h3>
    </article>
    <article class="vf-summary vf-summary--news">
      <span class="vf-summary__date">4 September 2019</span>
      <img class="vf-summary__image" src="../../assets/vf-summary/assets/vf-summary--news-has-image.jpg" alt="BioSamples" loading="lazy">
      <h3 class="vf-summary__title">
        <a href="" class="vf-summary__link">
          news article summary
        </a>
      </h3>
    </article>
  </div>

  <!--
  <div class="vf-news-container__sidebar">
    Optional vf-news-container__sidebar
  </div>
  -->
</section>
              

Examples

Installation info

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

$ yarn add --dev @visual-framework/vf-news-container

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-news-container/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

1.1.2

1.1.1

1.1.0

  • Standardizes the featured news variant as 4 columns.

1.0.0

  • Fixes CSS to match stylelint rules.
  • https://github.com/visual-framework/vf-core/pull/1405

1.0.0-rc.1

  • Adds vf-news-container--featured
  • https://github.com/visual-framework/vf-core/issues/1036

1.0.0-alpha.8

  • Version bump only for package @visual-framework/vf-news-container

1.0.0-alpha.7

  • Version bump only for package @visual-framework/vf-news-container

Assets



File system location: components/vf-news-container

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

AI Assistant

Welcome! I'm here to help

Try asking me:

Disclaimer: This chatbot is designed to assist you with general information and basic inquiries. See our disclaimer notes.

Review AI generated content for accuracy. Leave feedback.

Close chat and delete conversation?

Are you sure you want to close the chat?
Your current conversation history will be permanently deleted.