Summaries in the form of text, headlines and often imagery for a list of like content, including: articles, jobs, news and people profiles.
The vf-summary--publication
can be nested inside a vf-box where it takes the vf-box colours.
If the vf-summary__author
list is truncated to a certain number of authors you will need to add vf-u-text--et-al to the <p>
- <p class="vf-summary__author | vf-u-text--et-al">
- for it to add "et al" to the end of the list.
At times you might want to use an image for purely decorative reasons. For example an abstract graphic to go alongside the text then you should label, if using nunjucks and yaml, summary__image_alt: decorative
. This will make sure the image alt
text is empty (alt=""
) and add role="presentation"
to the img
element.
The vf-summary--profile
variant has been deprecated. Please use the vf-profile
component.
Cancer is a group of diseases involving abnormal cell growth with the potential to invade or spread to other parts of the body.
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
.
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",
"summary__title" : "What is Cancer?",
"summary__text" : "Cancer is a group of diseases involving abnormal cell growth with the potential to invade or spread to other parts of the body.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
}
%}
{% include "../path_to/vf-summary/vf-summary.njk" %}
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-summary', {
"component-type" : "block",
"summary__title" : "What is Cancer?",
"summary__text" : "Cancer is a group of diseases involving abnormal cell growth with the potential to invade or spread to other parts of the body.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",}
%}
<article class="vf-summary">
<h3 class="vf-summary__title">
<a href="JavaScript:Void(0);" class="vf-summary__link">What is Cancer?</a>
</h3>
<p class="vf-summary__text">Cancer is a group of diseases involving abnormal cell growth with the potential to invade or spread to other parts of the body.</p>
</article>
I want to take a look back at my first full year as EMBL's social media manager. So what worked best over 2017 and what can I learn from this? My basic goals for VF’s social media are to build community and develop a shared understanding of who we as an organisation are. Consequently, I care about what resonates on the different social sites much more than driving traffic back to Visual Framework websites, although traffic is obviously a by-product.
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
.
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",
"summary__title" : "EMBL's top social media posts of 2017 and what we learned from them",
"summary__text" : "I want to take a look back at my first full year as EMBL's social media manager. So what worked best over 2017 and what can I learn from this? My basic goals for VF’s social media are to build community and develop a shared understanding of who we as an organisation are. Consequently, I care about what resonates on the different social sites much more than driving traffic back to Visual Framework websites, although traffic is obviously a by-product.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__date" : "6 February 2018",
"summary__author" : "Laura Howes",
"summary__author_href" : "JavaScript:Void(0);",
}
%}
{% include "../path_to/vf-summary/vf-summary.njk" %}
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-summary', {
"component-type" : "block",
"summary__title" : "EMBL's top social media posts of 2017 and what we learned from them",
"summary__text" : "I want to take a look back at my first full year as EMBL's social media manager. So what worked best over 2017 and what can I learn from this? My basic goals for VF’s social media are to build community and develop a shared understanding of who we as an organisation are. Consequently, I care about what resonates on the different social sites much more than driving traffic back to Visual Framework websites, although traffic is obviously a by-product.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__date" : "6 February 2018",
"summary__author" : "Laura Howes",
"summary__author_href" : "JavaScript:Void(0);",}
%}
<article class="vf-summary vf-summary--article">
<h3 class="vf-summary__title">
<a href="JavaScript:Void(0);" class="vf-summary__link">EMBL's top social media posts of 2017 and what we learned from them</a>
</h3>
<div class="vf-summary__meta">
<a href="JavaScript:Void(0);" class="vf-summary__author vf-summary__link">Laura Howes</a>
<p class="vf-summary__date">6 February 2018</p>
</div>
<p class="vf-summary__text">I want to take a look back at my first full year as EMBL's social media manager. So what worked best over 2017 and what can I learn from this? My basic goals for VF’s social media are to build community and develop a shared understanding of who we as an organisation are. Consequently, I care about what resonates on the different social sites much more than driving traffic back to Visual Framework websites, although traffic is obviously a by-product.</p>
</article>
4 September 2019
This Masters development programme is aimed at current Research Infrastructures managers and leaders who wish to develop the competencies required to meet the needs of Research Infrastructures in the planning, construction and operation phases.
EMBO Workshop
Heidelberg
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
.
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",
"summary__title" : "Executive Masters in Management of Research Infrastructures",
"summary__text" : "This Masters development programme is aimed at current Research Infrastructures managers and leaders who wish to develop the competencies required to meet the needs of Research Infrastructures in the planning, construction and operation phases.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__date" : "4 September 2019",
"summary__event_type" : "EMBO Workshop",
"summary__location" : "Heidelberg",
}
%}
{% include "../path_to/vf-summary/vf-summary.njk" %}
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-summary', {
"component-type" : "block",
"summary__title" : "Executive Masters in Management of Research Infrastructures",
"summary__text" : "This Masters development programme is aimed at current Research Infrastructures managers and leaders who wish to develop the competencies required to meet the needs of Research Infrastructures in the planning, construction and operation phases.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__date" : "4 September 2019",
"summary__event_type" : "EMBO Workshop",
"summary__location" : "Heidelberg",}
%}
<article class="vf-summary vf-summary--event">
<p class="vf-summary__date">4 September 2019</p>
<h3 class="vf-summary__title">
<a href="JavaScript:Void(0);" class="vf-summary__link">Executive Masters in Management of Research Infrastructures</a>
</h3>
<p class="vf-summary__text">This Masters development programme is aimed at current Research Infrastructures managers and leaders who wish to develop the competencies required to meet the needs of Research Infrastructures in the planning, construction and operation phases.</p>
<p class="vf-summary__text">EMBO Workshop</p>
<p class="vf-summary__location">Heidelberg</p>
</article>
A database describing biological samples and providing links to associated experimental data.
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
.
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",
"summary__title" : "BioSamples",
"summary__text" : "A database describing biological samples and providing links to associated experimental data.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__image" : "https://www.ebi.ac.uk/biosamples/images/logo_biosamples.png",
"summary__image_alt" : "BioSamples",
}
%}
{% include "../path_to/vf-summary/vf-summary.njk" %}
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-summary', {
"component-type" : "block",
"summary__title" : "BioSamples",
"summary__text" : "A database describing biological samples and providing links to associated experimental data.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__image" : "https://www.ebi.ac.uk/biosamples/images/logo_biosamples.png",
"summary__image_alt" : "BioSamples",}
%}
<article class="vf-summary vf-summary--has-image">
<a href="JavaScript:Void(0);" class="vf-summary__link">
<img class="vf-summary__image vf-summary__image--thumbnail" src="https://www.ebi.ac.uk/biosamples/images/logo_biosamples.png" alt="BioSamples" loading="lazy">
</a>
<h3 class="vf-summary__title">
<a href="JavaScript:Void(0);" class="vf-summary__link">
BioSamples
</a>
</h3>
<p class="vf-summary__text">A database describing biological samples and providing links to associated experimental data.</p>
</article>
We are seeking to recruit outstanding group leaders who wish to carry out cutting-edge molecular cell biology research and/or technology development.
Closes in 8 days. Posted 11 August 2018
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
.
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",
"summary__title" : "Group Leader - Cell and Biophysics",
"summary__text" : "We are seeking to recruit outstanding group leaders who wish to carry out cutting-edge molecular cell biology research and/or technology development.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__meta" : "<a href="#" class="vf-summary__link">Science Faculty</a> in <a href="#" class="vf-summary__link">Heidelberg</a>",
"summary__date" : "11 August 2018",
"summary__date_meta" : "Closes in 8 days.",
}
%}
{% include "../path_to/vf-summary/vf-summary.njk" %}
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-summary', {
"component-type" : "block",
"summary__title" : "Group Leader - Cell and Biophysics",
"summary__text" : "We are seeking to recruit outstanding group leaders who wish to carry out cutting-edge molecular cell biology research and/or technology development.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__meta" : "<a href="#" class="vf-summary__link">Science Faculty</a> in <a href="#" class="vf-summary__link">Heidelberg</a>",
"summary__date" : "11 August 2018",
"summary__date_meta" : "Closes in 8 days.",}
%}
<article class="vf-summary vf-summary--job">
<p class="vf-summary__meta"><a href="#" class="vf-summary__link">Science Faculty</a> in <a href="#" class="vf-summary__link">Heidelberg</a></p>
<h3 class="vf-summary__title">
<a href="JavaScript:Void(0);" class="vf-summary__link">
Group Leader - Cell and Biophysics
</a>
</h3>
<p class="vf-summary__text">We are seeking to recruit outstanding group leaders who wish to carry out cutting-edge molecular cell biology research and/or technology development.</p>
<p class="vf-summary__date"> <span>Closes in 8 days.</span>
Posted 11 August 2018</p>
</article>
General Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.
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
.
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",
"summary__title" : "news article summary",
"summary__text" : "Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__category" : "General",
"summary__date" : "4 September 2019",
}
%}
{% include "../path_to/vf-summary/vf-summary.njk" %}
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-summary', {
"component-type" : "block",
"summary__title" : "news article summary",
"summary__text" : "Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__category" : "General",
"summary__date" : "4 September 2019",}
%}
<article class="vf-summary vf-summary--news">
<span class="vf-summary__date">4 September 2019</span>
<h3 class="vf-summary__title">
<a href="JavaScript:Void(0);" class="vf-summary__link">
news article summary
</a>
</h3>
<p class="vf-summary__text">
<span class="vf-summary__category">
General
</span>
Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.
</p>
</article>
Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.
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
.
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",
"summary__title" : "news article summary",
"summary__text" : "Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__image" : "../../assets/vf-summary/assets/vf-summary--news-has-image.jpg",
"summary__image_alt" : "News image alt",
"summary__date" : "4 September 2019",
}
%}
{% include "../path_to/vf-summary/vf-summary.njk" %}
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-summary', {
"component-type" : "block",
"summary__title" : "news article summary",
"summary__text" : "Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__image" : "../../assets/vf-summary/assets/vf-summary--news-has-image.jpg",
"summary__image_alt" : "News image alt",
"summary__date" : "4 September 2019",}
%}
<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="JavaScript:Void(0);" 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>
Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.
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
.
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",
"summary__title" : "news article summary",
"summary__text" : "Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__image" : "../../assets/vf-summary/assets/vf-summary--news-has-image.jpg",
"summary__image_alt" : "decorative",
"summary__date" : "4 September 2019",
}
%}
{% include "../path_to/vf-summary/vf-summary.njk" %}
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-summary', {
"component-type" : "block",
"summary__title" : "news article summary",
"summary__text" : "Combinations of cancer drugs can be quickly and cheaply tested using a novel microfluidic device.",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__image" : "../../assets/vf-summary/assets/vf-summary--news-has-image.jpg",
"summary__image_alt" : "decorative",
"summary__date" : "4 September 2019",}
%}
<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="" role="presentation" loading="lazy">
<h3 class="vf-summary__title">
<a href="JavaScript:Void(0);" 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>
The Journal of cell biology 2019
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
.
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",
"summary__title" : "Computer modeling in developmental biology: growing today, essential tomorrow.",
"summary__text" : "144(23):4214-4225. doi: 10.1242/dev.151274. <a class="vf-link" href="#">Europe</a> <a class="vf-link" href="#">PMC</a>",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__author" : "Jimenez RC, Albar JP, Bhak J, Blatter MC, Blicher T, Brazas MD, Brooksbank C, Budd A, De Las Rivas J, Dreyer J, van Driel MA, Dunn MJ, Fernandes PL, van Gelder CW, Hermjakob H, Ioannidis V, Judge DP, Kahlem P, Korpelainen E, Kraus HJ, Loveland J, Mayer C, McDowall J, Moran F, Mulder N, Nyronen T, Rother K, Salazar GA, Schneider R, Via A, Villaveces JM, Yu P, Schneider MV, Attwood TK, Corpas M.",
"summary__date" : 2019,
"summary__source" : "The Journal of cell biology",
}
%}
{% include "../path_to/vf-summary/vf-summary.njk" %}
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-summary', {
"component-type" : "block",
"summary__title" : "Computer modeling in developmental biology: growing today, essential tomorrow.",
"summary__text" : "144(23):4214-4225. doi: 10.1242/dev.151274. <a class="vf-link" href="#">Europe</a> <a class="vf-link" href="#">PMC</a>",
"image" : "/assets/vf-summary/assets/vf-icon--avatar.svg",
"name" : "FirstName Surname",
"summary__href" : "JavaScript:Void(0);",
"summary__author" : "Jimenez RC, Albar JP, Bhak J, Blatter MC, Blicher T, Brazas MD, Brooksbank C, Budd A, De Las Rivas J, Dreyer J, van Driel MA, Dunn MJ, Fernandes PL, van Gelder CW, Hermjakob H, Ioannidis V, Judge DP, Kahlem P, Korpelainen E, Kraus HJ, Loveland J, Mayer C, McDowall J, Moran F, Mulder N, Nyronen T, Rother K, Salazar GA, Schneider R, Via A, Villaveces JM, Yu P, Schneider MV, Attwood TK, Corpas M.",
"summary__date" : 2019,
"summary__source" : "The Journal of cell biology",}
%}
<article class="vf-summary vf-summary--publication">
<h3 class="vf-summary__title">
<a href="JavaScript:Void(0);" class="vf-summary__link">
Computer modeling in developmental biology: growing today, essential tomorrow.
</a>
</h3>
<p class="vf-summary__author">Jimenez RC, Albar JP, Bhak J, Blatter MC, Blicher T, Brazas MD, Brooksbank C, Budd A, De Las Rivas J, Dreyer J, van Driel MA, Dunn MJ, Fernandes PL, van Gelder CW, Hermjakob H, Ioannidis V, Judge DP, Kahlem P, Korpelainen E, Kraus HJ, Loveland J, Mayer C, McDowall J, Moran F, Mulder N, Nyronen T, Rother K, Salazar GA, Schneider R, Via A, Villaveces JM, Yu P, Schneider MV, Attwood TK, Corpas M.</p>
<p class="vf-summary__source">
The Journal of cell biology
<span class="vf-summary__date">2019</span>
</p>
<p class="vf-summary__text">
144(23):4214-4225. doi: 10.1242/dev.151274. <a class="vf-link" href="#">Europe</a> <a class="vf-link" href="#">PMC</a>
</p>
</article>
This component is distributed with npm. After installing npm, you can install the vf-summary
with this command.
$ yarn add --dev @visual-framework/vf-summary
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-summary/index.scss";
Make sure you import Sass requirements along with the modules. You can use a project boilerplate or the vf-sass-starter
vf-summary
inside of vf-box
. (this is no longer encouraged)vf-summary__text
.Removes the import for vf-links.variables.scss
as it is not needed.
changes any set-
style functions to cleaner version
--has-image
variant so you can use it with a -thumbnail
classvf-summary--profile
component, you should now use vf-profile
File system location: components/vf-summary
Find an issue on this page? Propose a change or discuss it.