📘
Lab Website Template docs
  • Introduction
    • Overview
    • Is this right for me?
    • Gallery
    • Support
  • Getting Started
    • Set up your site
    • Set up your URL
    • Tidy up your repo
    • Change your site
    • Preview your site
  • Basics
    • Repo structure
    • Configure your site
    • Edit pages
    • Write basic content
    • Use your logo
    • Customize your theme
    • Team members
    • Blog posts
    • Citations
    • Components
      • Section
      • Figure
      • Button
      • Icon
      • Feature
      • List
      • Citation
      • Card
      • Portrait
      • Post Excerpt
      • Alert
      • Tags
      • Float
      • Grid
      • Cols
      • Search
      • Site Search
  • Advanced
    • Update your template
    • Embeds
    • Math, diagrams, videos, etc.
    • Analytics
    • Data and collections
    • Jekyll plugins
    • Custom components
    • Background knowledge
Powered by GitBook
On this page
  1. Basics

Components

How to write fancier content for your site with components

PreviousCitationsNextSection

Last updated 1 year ago

Markdown is meant for , but sometimes you need something more. Components are building blocks for more complex visual and interactive elements on your site. You can also think of them as "widgets".

The template comes with many pre-made components so you can assemble your website however you want with ease.

Simply place the code for a component in one of your markdown files, and it will appear in your site. The basic syntax for including a component is:

...some content...

{% include some-component.html parameter="value" %}

...more content...

Unless noted otherwise, all component parameters are optional and have graceful fallbacks if not specified.

Arbitrary content

Some component parameters allow you to pass complex, arbitrary content to them, such as plain text, multiple paragraphs, Markdown, and even other components.

To do this, you have to use first. Example:

{% capture some-content %}
  Some text.
  _Some_ **Markdown**.
  {% include another-component.html %}
{% end capture %}

{% include some-component.html some-param=some-content %}
basic content
Liquid's capture tag