Organisms
For the most part, organism components can be dropped in wherever they're needed or desired. Often they're added via layouts, though, so be careful to account for any duplicates that may arise from one-off usage.
Copyright
Example
Copyright, license, and documentation
Options
Code
Usage
General guidance
The copyright section contains the copyright statement, as well as licensing links if applicable, and the copyright menu.
Accessibility
Just some sample text in the accessibility section for now.
Footer
Example
Options
Code
Usage
General guidance
The footer section contains site contact information, socials, and the footer menu.
Accessibility
Just some sample text in the accessibility section for now.
Form
Example
Options
Code
Usage
General guidance
The form section can use the mode property in conjunction with a slug to call an entity from a form collection. It can also build a form with any suitably-constructed entity with all the necessary props.
Accessibility
Just some sample text in the accessibility section for now.
Header
Example
Options
Code
Usage
General guidance
The header section contains the logo and identifying information. It also houses the search widget markup.
Accessibility
Just some sample text in the accessibility section for now.
Header + Main nav
Example
Options
Props
Name | Description | Example |
---|---|---|
classes | css classes applied to parent | color--main-dark |
Code
HTML
<header class="header--main layout--strip background-color--white color--main-dark text-align--center sticky--top
">
<div class="layout--stripe--inner ">
<div class="layout--row display--flex">
<aside class="layout--column flex--none display--flex flex-direction--column justify-content--center">
<a class="header--logo logo" itemprop="url" href="/">
<img src="/assets/images/required/logo.svg" alt="Axe Head Watchmakers"
class="image header--image header--logo--image" loading="lazy"
height="73" width="73"
/>
<span class="header--logo--tagline tagline font-weight--900 font-style--italic">Watches made from wood</span>
</a>
</aside>
<aside class="layout--column flex--1 display--flex flex-direction--column justify-content--center
padding-horizontal--4 padding-horizontal--collapse">
<ul class="menu menu--main list-style--none margin-horizontal--0 border-spaced display--flex layout--row menu-layout--horizontal">
<li class="menu-item menu-item--menu-main menu-item--page-shop
menu-item--menu-main--page-shop flex--1 display--flex
flex-direction--column justify-content--center">
<a href="/products/" class="menu-item--link
display--flex flex-direction--column justify-content--center">Shop</a>
</li>
<li class="menu-item menu-item--menu-main menu-item--page-about
menu-item--menu-main--page-about flex--1 display--flex
flex-direction--column justify-content--center">
<a href="/about/" class="menu-item--link
display--flex flex-direction--column justify-content--center">About</a>
</li>
</ul>
</aside>
<aside class="layout--column flex--none display--flex flex-direction--column justify-content--center position--relative
has--search-widget">
<section class="docblock border-radius--default background-color--grey-light padding-vertical--4 padding-horizontal--4
padding-horizontal--collapse">
<h3 class="text-align--center">Search widget</h3>
<h4 class="docblock--example--label">Example</h4>
<div class="docblock--example position--relative">
<div class="search-widget z-index--9998 ">
<button type="button" class="js--toggle-below button--search-widget--toggle" aria-expanded="false">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0013 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 000-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/>
</svg>
<span class="js--toggle-below--label a11y--visually-hidden">Open below</span>
</button>
<form method="get" action="/search/"
class="display--flex flex-direction--row position--absolute right--0 js--toggle-below--closed">
<div class="form--item form--item--input form--item--input--search">
<label class="label form--item--label a11y--visually-hidden" for="q">Search query</label>
<input name="q" id="q" placeholder="'Restaurant'...?" type="search" />
</div>
<button class="form--button form--button--submit button--search-widget--submit" type="submit">Go</button>
</form>
</div>
</div>
<details>
<summary>Options</summary>
<div class="layout--row display--flex">
<aside class="layout--column flex--1 display--flex flex-direction--column justify-content--center
padding-horizontal--4 padding-horizontal--collapse">
<fieldset class="docblock--classes">
<legend>Toggle classes</legend>
<div class="form--item form--item--checkbox position--relative">
<input type="checkbox" name="search-widget--background-color-main-light"
id="search-widget--background-color-main-light"
value="background-color--main-light" class="docblock--classes--class">
<label class="label form--item--label display--block font-size--p75em padding-vertical--2"
for="search-widget--background-color-main-light">
<code>background-color--main-light</code>
</label>
</div>
<div class="form--item form--item--checkbox position--relative">
<input type="checkbox" name="search-widget--font-size-2em"
id="search-widget--font-size-2em"
value="font-size--2em" class="docblock--classes--class">
<label class="label form--item--label display--block font-size--p75em padding-vertical--2"
for="search-widget--font-size-2em">
<code>font-size--2em</code>
</label>
</div>
</fieldset>
</aside>
<aside class="layout--column flex--1 display--flex flex-direction--column justify-content--center
padding-horizontal--4 padding-horizontal--collapse">
<h4>Props</h4>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>
classes</td>
<td> css classes applied to parent</td>
<td> color--main-dark
</td>
</tr>
</tbody>
</table>
</aside>
</div>
</details>
<details>
<summary>Code</summary>
<div class="layout--row display--flex">
<aside class="layout--column flex--1 display--flex flex-direction--column justify-content--center
padding-horizontal--4 padding-horizontal--collapse">
<h4>HTML</h4>
<figure class="highlight"><pre><code class="language-html" data-lang="html">
<span class="nt"><div</span> <span class="na">class=</span><span class="s">"search-widget z-index--9998 "</span><span class="nt">></span>
<span class="nt"><button</span> <span class="na">type=</span><span class="s">"button"</span> <span class="na">class=</span><span class="s">"js--toggle-below button--search-widget--toggle"</span> <span class="na">aria-expanded=</span><span class="s">"false"</span><span class="nt">></span>
<span class="nt"><svg</span> <span class="na">xmlns=</span><span class="s">"http://www.w3.org/2000/svg"</span> <span class="na">width=</span><span class="s">"16"</span> <span class="na">height=</span><span class="s">"16"</span> <span class="na">viewBox=</span><span class="s">"0 0 16 16"</span><span class="nt">></span>
<span class="nt"><path</span> <span class="na">fill-rule=</span><span class="s">"evenodd"</span> <span class="na">d=</span><span class="s">"M15.7 13.3l-3.81-3.83A5.93 5.93 0 0013 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 000-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"</span><span class="nt">/></span>
<span class="nt"></svg></span>
<span class="nt"><span</span> <span class="na">class=</span><span class="s">"js--toggle-below--label a11y--visually-hidden"</span><span class="nt">></span>Open below<span class="nt"></span></span>
<span class="nt"></button></span>
<span class="nt"><form</span> <span class="na">method=</span><span class="s">"get"</span> <span class="na">action=</span><span class="s">"/search/"</span>
<span class="na">class=</span><span class="s">"display--flex flex-direction--row position--absolute right--0 js--toggle-below--closed"</span><span class="nt">></span>
<span class="nt"><div</span> <span class="na">class=</span><span class="s">"form--item form--item--input form--item--input--search"</span><span class="nt">></span>
<span class="nt"><label</span> <span class="na">class=</span><span class="s">"label form--item--label a11y--visually-hidden"</span> <span class="na">for=</span><span class="s">"q"</span><span class="nt">></span>Search query<span class="nt"></label></span>
<span class="nt"><input</span> <span class="na">name=</span><span class="s">"q"</span> <span class="na">id=</span><span class="s">"q"</span> <span class="na">placeholder=</span><span class="s">"'Restaurant'...?"</span> <span class="na">type=</span><span class="s">"search"</span> <span class="nt">/></span>
<span class="nt"></div></span>
<span class="nt"><button</span> <span class="na">class=</span><span class="s">"form--button form--button--submit button--search-widget--submit"</span> <span class="na">type=</span><span class="s">"submit"</span><span class="nt">></span>Go<span class="nt"></button></span>
<span class="nt"></form></span>
<span class="nt"></div></span>
</code></pre></figure>
</aside>
<aside class="layout--column flex--1 display--flex flex-direction--column justify-content--center
padding-horizontal--4 padding-horizontal--collapse">
<h4>Liquid template</h4>
<figure class="highlight"><pre><code class="language-smarty" data-lang="smarty">
{% include molecules/search-widget.html %}
</code></pre></figure>
</aside>
</div>
</details>
<details open>
<summary>Usage</summary>
<div>
<h4 id="general-guidance">General guidance</h4>
<p>The search widget is a toggleable icon that opens a search form for keyword searching the whole site. Only one should appear
per page in order to avoid id attribute conflicts.</p>
</div>
</details>
<details>
<summary>Accessibility</summary>
<div>
<p>Just some sample text in the accessibility section for now.</p>
</div>
</details>
</section>
</aside>
</div>
</div>
</header>
Liquid template
{% include organisms/header--main.html %}
Usage
General guidance
The header section contains the logo and identifying information. It also houses the main menu and search widget markup.
Accessibility
Just some sample text in the accessibility section for now.
Header (Pre)
Example
This section can be customized for a fancy, important, temporary feature on the home page. You will probably want to put a fancy background here or otherwise catch users' eyes.
Make your own site easilyOptions
Props
Name | Description | Example |
---|---|---|
classes | css classes applied to parent | color--main-dark |
Code
HTML
<div class="layout--stripe background-color--second-light color--third-dark js--dismissible
">
<div class="layout--stripe--inner">
<strong class="heading--h2 font-family--secondary">Special promotion! (fake heading for doc outline)</strong>
<div class="spacer padding-vertical--4 "></div>
<p>
This section can be customized for a fancy, important, temporary feature on the home page. You will probably want
to put a fancy background here or otherwise catch users' eyes.
</p>
<div class="spacer padding-vertical--2 "></div>
<a href="https://github.com/lowerbarriers/finished-starter" class="button">Make your own site easily</a>
</div>
</div>
Liquid template
{% include organisms/header--pre.html %}
Usage
General guidance
The header pre is an optional section for the front page, to draw attention above the fold.
Accessibility
Just some sample text in the accessibility section for now.
Hero
Example
Organisms
Options
Props
Name | Description | Example |
---|---|---|
classes | css classes applied to parent | color--main-dark |
Code
HTML
<header class="include include--organisms include--organisms--section layout--stripe background-color--main background-image--affectation color--white text-align--center background-image-display-mobile--hide
"
id="hero--organisms">
<div class="layout--stripe--inner">
<h1 class="heading "
itemprop="headline">
Organisms
</h1>
</div>
</header>
Liquid template
{% include organisms/hero.html %}
Usage
General guidance
The hero contains the page title, and sometimes more information like the meta description or other details.
Accessibility
Just some sample text in the accessibility section for now.
Nav
Example
Options
Props
Name | Description | Example |
---|---|---|
classes | css classes applied to parent | color--main-dark |
Code
HTML
<nav class="nav nav--main layout--strip padding-vertical--0 background-color--main-dark color--white font-size--1p5em
font-weight--900 sticky--top ">
<div class="layout--stripe--inner">
<ul class="menu menu--main list-style--none margin-horizontal--0 border-spaced display--flex layout--row menu-layout--horizontal">
<li class="menu-item menu-item--menu-main menu-item--page-shop
menu-item--menu-main--page-shop flex--1 display--flex
flex-direction--column justify-content--center">
<a href="/products/" class="menu-item--link
display--flex flex-direction--column justify-content--center">Shop</a>
</li>
<li class="menu-item menu-item--menu-main menu-item--page-about
menu-item--menu-main--page-about flex--1 display--flex
flex-direction--column justify-content--center">
<a href="/about/" class="menu-item--link
display--flex flex-direction--column justify-content--center">About</a>
</li>
</ul>
</div>
</nav>
Liquid template
{% include organisms/nav.html %}
Usage
General guidance
The nav section contains the main menu. It is a headroom-style sticky menu by default.
Accessibility
Just some sample text in the accessibility section for now.
Related
Example
-
Accessibility
Writing guide for inclusivity
-
Be concise
Write enough to get your point across, but no more.
-
Content principles
Quick overview of our guiding content principles.
Options
Props
Name | Description | Example |
---|---|---|
classes | css classes applied to parent | background-color--main-dark color--white |
children | Contents and sub-contents of the section | Here is some text. |
title | Each section should have an h2 | This describes what is in the section |
title_classes | Styling for the section title | heading--h1 |
Code
HTML
<section class="include include--organisms include--organisms--related layout--stripe
"
>
<div class="layout--stripe--inner">
<ul class="list-style--none layout--multiple--horizontal">
<li class="card js--child--link display--flex flex-direction--column ">
<div class="card--text padding-horizontal--4 padding-vertical--4">
<h3 class="card--title font-size--1p25em"><a href="/docs/content-guide/accessibility/">Accessibility</a></h3>
<p class="card--description font-size--p75em">Writing guide for inclusivity</p>
</div>
<figure class="figure figure--image figure--image--required-meta-image-default-jpg figure--card--image order--neg1 box-shadow--lifted-edges">
<picture class="picture picture--lazy-load layout--hide--no-javascript" itemprop="image">
<source srcset="/assets/images/required/s.webp"
data-srcset="/assets/images/required/meta-image--default.jpg.webp" type="image/webp" />
<source srcset="/assets/images/required/s.webp"
data-srcset="/assets/images/required/meta-image--default.jpg.avif" type="image/avif" />
<img src="/assets/images/required/s.gif"
data-src="/assets/images/required/meta-image--default.jpg" alt="Site default social image" loading="lazy"
height="630"
width="1200"
/>
</picture>
<noscript>
<img src="/assets/images/required/meta-image--default.jpg" alt="Site default social image" loading="lazy" />
</noscript>
</figure>
</li>
<li class="card js--child--link display--flex flex-direction--column ">
<div class="card--text padding-horizontal--4 padding-vertical--4">
<h3 class="card--title font-size--1p25em"><a href="/docs/content-guide/be-concise/">Be concise</a></h3>
<p class="card--description font-size--p75em">Write enough to get your point across, but no more.</p>
</div>
<figure class="figure figure--image figure--image--required-meta-image-default-jpg figure--card--image order--neg1 box-shadow--lifted-edges">
<picture class="picture picture--lazy-load layout--hide--no-javascript" itemprop="image">
<source srcset="/assets/images/required/s.webp"
data-srcset="/assets/images/required/meta-image--default.jpg.webp" type="image/webp" />
<source srcset="/assets/images/required/s.webp"
data-srcset="/assets/images/required/meta-image--default.jpg.avif" type="image/avif" />
<img src="/assets/images/required/s.gif"
data-src="/assets/images/required/meta-image--default.jpg" alt="Site default social image" loading="lazy"
height="630"
width="1200"
/>
</picture>
<noscript>
<img src="/assets/images/required/meta-image--default.jpg" alt="Site default social image" loading="lazy" />
</noscript>
</figure>
</li>
<li class="card js--child--link display--flex flex-direction--column ">
<div class="card--text padding-horizontal--4 padding-vertical--4">
<h3 class="card--title font-size--1p25em"><a href="/docs/content-guide/content-principles/">Content principles</a></h3>
<p class="card--description font-size--p75em">Quick overview of our guiding content principles.</p>
</div>
<figure class="figure figure--image figure--image--required-meta-image-default-jpg figure--card--image order--neg1 box-shadow--lifted-edges">
<picture class="picture picture--lazy-load layout--hide--no-javascript" itemprop="image">
<source srcset="/assets/images/required/s.webp"
data-srcset="/assets/images/required/meta-image--default.jpg.webp" type="image/webp" />
<source srcset="/assets/images/required/s.webp"
data-srcset="/assets/images/required/meta-image--default.jpg.avif" type="image/avif" />
<img src="/assets/images/required/s.gif"
data-src="/assets/images/required/meta-image--default.jpg" alt="Site default social image" loading="lazy"
height="630"
width="1200"
/>
</picture>
<noscript>
<img src="/assets/images/required/meta-image--default.jpg" alt="Site default social image" loading="lazy" />
</noscript>
</figure>
</li>
</ul>
</div>
</section>
Liquid template
{% include organisms/related.html
classes=""
entity=page
title="Related"
title_classes=""
%}
Usage
General guidance
The related section can highlight content of the same type as the page you’re on.
Accessibility
Just some sample text in the accessibility section for now.
Section
Example
Example section
This is a paragraph of text
Options
Props
Name | Description | Example |
---|---|---|
classes | css classes applied to parent | background-color--main-dark color--white |
children | Contents and sub-contents of the section | Here is some text. |
title | Each section should have an h2 | This describes what is in the section |
title_classes | Styling for the section title | heading--h1 |
Code
HTML
<section class="include include--organisms include--organisms--section layout--stripe
background-color--main-light color--white background-image--affectation text-align--center"
id="section--example-section">
<div class="layout--stripe--inner">
<h2 class="">Example section</h2>
<p>This is a paragraph of text</p>
</div>
</section>
Liquid template
{% include organisms/section.html
slug="alerts"
mode="ref"
%}
Usage
General guidance
Sections separate large distinct portions of content on a page.
Accessibility
Just some sample text in the accessibility section for now.
Utility
Example
Utility (verb) navigation
Options
Props
Name | Description | Example |
---|---|---|
classes | css classes applied to parent | color--main-dark |
Code
HTML
<section class="utility background-color--main-dark color--white font-size--p875em
">
<div class="layout--stripe--inner">
<h2 class="a11y--visually-hidden">Utility (verb) navigation</h2>
<ul class="menu menu--utility list-style--none margin-horizontal--0 border-spaced display--flex layout--row menu-layout--horizontal">
<li class="menu-item menu-item--menu-utility menu-item--page-contact-us
menu-item--menu-utility--page-contact-us flex--1 display--flex
flex-direction--column justify-content--center">
<a href="/contact-us/" class="menu-item--link
display--flex flex-direction--column justify-content--center">Contact us</a>
</li>
<li class="menu-item menu-item--menu-utility menu-item--page-frequently-asked-questions
menu-item--menu-utility--page-frequently-asked-questions flex--1 display--flex
flex-direction--column justify-content--center">
<a href="/faq/" class="menu-item--link
display--flex flex-direction--column justify-content--center">Frequently asked questions</a>
</li>
</ul>
</div>
</section>
Liquid template
{% include organisms/utility.html %}
Usage
General guidance
The utility navigation section is for verb-based navigation actions like “Contact us”, as opposed to nouns like About that belong in the main nav.
Accessibility
Just some sample text in the accessibility section for now.
Utility (external)
Example
Utility (external) navigation
Options
Props
Name | Description | Example |
---|---|---|
classes | css classes applied to parent | color--main-dark |
Code
HTML
<section class="utility utility-external background-color--main-dark color--white font-size--p875em
">
<div class="layout--stripe--inner">
<h2 class="a11y--visually-hidden">Utility (external) navigation</h2>
<ul class="menu menu--utility-external list-style--none margin-horizontal--0 border-spaced display--flex layout--row menu-layout--horizontal">
<li class="menu-item flex--1 display--flex flex-direction--column justify-content--center">
<a href="https://lowerbarriers.org" class="menu-item--link display--flex flex-direction--column justify-content--center">Lower Barriers</a>
</li>
<li class="menu-item flex--1 display--flex flex-direction--column justify-content--center">
<a href="https://github.com/lowerbarriers" class="menu-item--link display--flex flex-direction--column justify-content--center">LB GitHub</a>
</li>
<li class="menu-item flex--1 display--flex flex-direction--column justify-content--center">
<a href="https://github.com/lowerbarriers/resume" class="menu-item--link display--flex flex-direction--column justify-content--center">Free tech résumé</a>
</li>
</ul>
</div>
</section>
Liquid template
{% include organisms/utility-external.html %}
Usage
General guidance
The external utility navigation section is for affiliated and other brand sites related to the current site.
Accessibility
Just some sample text in the accessibility section for now.