Bootstrap elements

Posted on August 12, 2023 (Last modified on September 25, 2023) • 10 min read • 2,116 words
Share via

Use shortcodes to add common Bootstrap elements with ease.

Bootstrap elements
Photo by Nathan Dumlao  on Unsplash 

Hinode provides several shortcodes that wrap common Bootstrap components. Refer to the official documentation for more details.

Abbr

As an example, the following shortcode displays the full text of an abbreviation on hover.

CI/CD
markdown
{{< abbr "CI/CD" >}}

Accordion

As an example, the following shortcode displays an accordion with three elements, of which the first element is expanded.

This is the first item’s accordion body. It supports HTML content, if enabled in the goldmark renderer. The item is shown by adding the value show to the class argument.

This is the second item’s accordion body.

This is the third item’s accordion body.
markdown
{{< accordion >}}
  {{< accordion-item header="Accordion Item #1" show="true" >}}
    This is the first item's accordion body. It supports HTML content, if enabled in the goldmark
    renderer. The item is shown by adding the value `show` to the `class` argument.
  {{< /accordion-item >}}
  {{< accordion-item header="Accordion Item #2" >}}
    This is the second item's accordion body.
  {{< /accordion-item >}}
  {{< accordion-item header="Accordion Item #3" >}}
    This is the third item's accordion body.
  {{< /accordion-item >}}
{{< /accordion >}}

Alert

As an example, the following shortcode displays a simple alert.

markdown
{{< alert color="danger" dismissible="true" >}}
    A simple danger alert—check it out!
{{< /alert >}}

Badge

Use the badge shortcode to display a badge for a heading.

Heading 1 New

Heading 2 New

Heading 3 New

Heading 4 New

Heading 5 New

Heading 6 New

markdown
Heading 1 {{< badge title="New" >}}
{.h1}

Heading 2 {{< badge title="New" >}}
{.h2}

Heading 3 {{< badge title="New" >}}
{.h3}

Heading 4 {{< badge title="New" >}}
{.h4}

Heading 5 {{< badge title="New" >}}
{.h5}

Heading 6 {{< badge title="New" >}}
{.h6}

As an example, the following shortcode displays a breadcrumb for the blog page.

markdown
{{< breadcrumb path="blog" >}}

Button

As an example, the following shortcode displays a tooltip for a dark button with a badge.

markdown
{{< button color="secondary" tooltip="Click on the inbox to view your unread messages" href="#!" badge="99+" >}}
    Inbox
{{< /button >}}

Button group

As an example, the following shortcode displays a group of three buttons.

markdown
{{< button-group aria-label="Basic example" >}}
  {{< button color="primary" href="#!" >}}Left{{< /button >}}
  {{< button color="primary" href="#!" >}}Middle{{< /button >}}
  {{< button color="primary" href="#!" >}}Right{{< /button >}}
{{< /button-group >}}

Card

As an example, the following shortcode displays a stacked card that links to the about page. It includes a custom header.

markdown
{{< card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary" header="publication" footer="none" />}}

Card group

As an example, the following shortcode displays a card group of three elements.

Bootstrap framework

Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source Sass files.

Full text search

Search your site with FlexSearch, a full-text search library with zero dependencies.

Development tools

Use Node Package Manager to automate the build process and to keep track of dependencies.

markdown
{{< card-group padding="3" gutter="3" >}}
    {{< card title="Bootstrap framework" icon="fab bootstrap" >}}
        Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source
        Sass files.
    {{< /card >}}
    {{< card title="Full text search" icon="fas magnifying-glass" >}}
        Search your site with FlexSearch, a full-text search library with zero dependencies.
    {{< /card >}}
    {{< card title="Development tools" icon="fas code" >}}
        Use Node Package Manager to automate the build process and to keep track of dependencies.
    {{< /card >}}
{{< /card-group >}}

As an example, the following shortcode displays a centered carousel with three slides, 16x9 aspect ratio, and a relative width of 67% on large screens.

markdown
{{< carousel ratio="16x9" class="col-sm-12 col-lg-8 mx-auto" >}}
  {{< img src="img/coffee.jpg" caption="slide 1" >}}
  {{< img src="img/phone.jpg" caption="slide 2" >}}
  {{< img src="img/dunes.jpg" caption="slide 3" >}}
{{< /carousel >}}

Collapse

As an example, the following shortcode displays a button that, when clicked, triggers a panel to appear or disappear.

Some placeholder content for the collapse component. This panel is hidden by default but revealed when the user activates the relevant trigger.
markdown
{{< button collapse="collapse-1" >}}
    Trigger panel
{{< /button >}}

{{< collapse id="collapse-1" class="p-3 border rounded bg-primary-subtle" >}}
    Some placeholder content for the collapse component. This panel is *hidden by default* but
    revealed when the user activates the relevant trigger.
{{< /collapse >}}

Command prompt

Use the command shortcode to generate a block with a default bash command prompt.

export MY_VAR=123
markdown
{{< command >}}
export MY_VAR=123
{{< /command >}}

Specify user and host to add the user context to the prompt. In addition, use (out) to specify an output line and use \ to denote a line continuation.

export MY_VAR=123
echo "hello"
hello
echo one \
two \
three
one two three
echo "goodbye"
goodbye
markdown
{{< command user="user" host="localhost" >}}
export MY_VAR=123
echo "hello"
(out)hello
echo one \
two \
three
(out)one two three
echo "goodbye"
(out)goodbye
{{< /command >}}

Docs

Use the docs shortcode to display the content of a js, scss or toml file:

[style]
    primary = "#d43900"
    secondary = "#6c757d"
    success = "#198754"
    info = "#0dcaf0"
    warning = "#ffc107"
    danger = "#dc3545"
    light = "#f8f9fa"
    dark = "#212529"
    themeOpacity = "10"
    darkModeShade = "20%"
    darkModeTint = "40%"
    themeFont = "Inter"
    # themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
    themeFontPath = "/fonts" # local path
    purge = true

Example

Use the example shortcode to display a code example and to render a preview of the same input.

export MY_VAR=123
markdown
{{< command >}}
export MY_VAR=123
{{< /command >}}

File

Use the file shortcode to print and highlight the full content of a given input file.

# toml-docs-start lang-main
[en]
languageName = "English"
contentDir = "content/en"
weight = 1
# toml-docs-end lang-main
# toml-docs-start lang-param
[en.params.head]
tagline = "A Hugo Theme"
[en.params.social]
title = "Follow me"
caption = "I work on everything coding and tweet developer memes"
[en.params.footer]
# license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
# toml-docs-end lang-param
[en.params.sections.blog]
reference = "More Posts"
[en.params.sections.projects]
reference = "More Projects"

[nl]
languageName = "Nederlands"
contentDir = "content/nl"
weight = 2
[nl.params.head]
tagline = "Een Hugo Thema"
[nl.params.social]
title = "Volg mij"
caption = "Ik doe aan programmeren en tweet memes"
[nl.params.footer]
# license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
[nl.params.sections.blog]
reference = "Meer artikelen"
[nl.params.sections.projects]
title = "Projecten"
reference = "Meer projecten"

[fr]
languageName = "Français"
contentDir = "content/fr"
weight = 2
[fr.params.head]
tagline = "Un thème Hugo"
[fr.params.social]
title = "Suivez-moi"
caption = "Je code et je tweet des mèmes de développeurs."
[fr.params.footer]
# license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
[fr.params.sections.blog]
reference = "Plus d'articles"
[fr.params.sections.projects]
title = "Projets"
reference = "Plus de projets"
markdown
{{< file path="./config/_default/languages.toml" id="file-collapse-1" >}}

Icon

As an example, the following shortcodes show a square check, a brand logo, a circle check, and a custom icon.

markdown
{{< fa square-check >}}
{{< fab linkedin >}}
{{< fas circle-check >}}
{{< icon custom activity >}}

Image

As an example, the following shortcode displays an image with rounded corners and a 21x9 aspect ratio.

Figure caption
markdown
{{< image src="img/flowers.jpg" ratio="21x9" caption="Figure caption" class="rounded" >}}

As an example, the following shortcode displays a regular vector image.

markdown
{{< image src="/img/logo_icon.svg" class="col-sm-6 col-lg-4" wrapper="text-center" >}}

As an example, the following shortcode displays a vector image with a symbol reference.

markdown
{{< image src="/img/logo_var.svg#logo" class="col-sm-6 col-lg-4" wrapper="text-center" >}}

As an example, the following shortcodes render links in different formats.

markdown
- {{< link hinode >}}Named link with default settings{{< /link >}}
- {{< link name=hinode cue=false tab=false >}}Named link opening in current tab w/o icon{{< /link >}}
- {{< link name=hinode cue=true tab=true >}}Named link opening in new tab with icon{{< /link >}}
- {{< link hinode />}}
- {{< link href="https://developer.mozilla.org" >}}External link{{< /link >}}
- {{< link "./projects/another-project" >}}Internal link with title{{< /link >}}
- {{< link url="projects/another-project" />}}
- {{< link url="/projects/another-project" />}}
- {{< link url="../projects/another-project" case=false />}}
- {{< link "/about/" />}}
- {{< link "/fr/about/" />}}
- {{< link "/fr/about" >}}About (French){{< /link >}}
- {{< link "#image" />}}
- {{< link "components/#map" />}}

Mark

Use the mark shortcode to highlight text. The inner content is used as input.

Use the mark shortcode to highlight specific text.
markdown
Use the mark shortcode to {{< mark >}}highlight{{< /mark >}} specific text.

As an example, the following shortcode displays a tab group with vertically aligned pills.

markdown
  {{< nav type="pills" vertical="true" >}}
    {{< nav-item header="Nav Item #1" show="true" >}}
      This is the first item's nav body. It supports HTML content, if enabled in the goldmark
      renderer. The item is shown by adding the value `show` to the `class` argument.
    {{< /nav-item >}}
    {{< nav-item header="Nav Item #2" >}}
      This is the second item's nav body.
    {{< /nav-item >}}
    {{< nav-item header="Nav Item #3" >}}
      This is the third item's nav body.
    {{< /nav-item >}}
  {{< /nav >}}

As an example, the following shortcode displays a light navigation header.

markdown
{{< navbar id="navbar-sample" path="blog" color="primary" size="md" search="false" menus="sample" title="Brand" mode="false" >}}

Release

As an example, the following shortcode displays a default release button.

markdown
{{< release version="v0.14.1" >}}

Spinner

As an example, the following shortcode displays a centered spinner.

Loading...
markdown
{{< spinner color="info" class="text-center" >}}
Loading...
{{< /spinner >}}

Sub

As an example, the following shortcode displays subscript text.

H2O is a liquid.
markdown
H{{< sub 2 >}}O is a liquid.

Sup

As an example, the following shortcode displays superscript text.

210 is 1024.
markdown
2{{< sup 10 >}} is 1024.

Timeline

As an example, the following shortcode displays a timeline with the file data/timeline.en.yml as data.

July 1, 2023

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate ducimus officiis quod! Aperiam eveniet nam nostrum odit quasi ullam voluptatum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate ducimus officiis quod! Aperiam eveniet nam nostrum odit quasi ullam voluptatum.

May 6, 2023

Lorem ipsum dolor sit amet.

February 4, 2023

Cupiditate ducimus officiis quod!

Beta release

November 30, 2022

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate ducimus officiis quod! Aperiam eveniet nam nostrum odit quasi ullam voluptatum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate ducimus officiis quod! Aperiam eveniet nam nostrum odit quasi ullam voluptatum.

July 1, 2023

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate ducimus officiis quod! Aperiam eveniet nam nostrum odit quasi ullam voluptatum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate ducimus officiis quod! Aperiam eveniet nam nostrum odit quasi ullam voluptatum.

May 6, 2023

Lorem ipsum dolor sit amet.

February 4, 2023

Cupiditate ducimus officiis quod!

Beta release

November 30, 2022

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate ducimus officiis quod! Aperiam eveniet nam nostrum odit quasi ullam voluptatum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate ducimus officiis quod! Aperiam eveniet nam nostrum odit quasi ullam voluptatum.

markdown
{{< timeline data="timeline" background="dark" >}}

Toast

As an example, the following shortcode displays a button that, when clicked, triggers the toast message.

Show toast 1
Show toast 2
markdown
{{< button toast="toast-example-1" >}}
    Show toast 1
{{< /button >}}

{{< button toast="toast-example-2" >}}
    Show toast 2
{{< /button >}}

{{< toast id="toast-example-1" header="First title" >}}
    This is the first toast message. It supports `markdown.`
{{< /toast >}}

{{< toast id="toast-example-2" header="Second title" >}}
    This is the second toast message. It supports `markdown.`
{{< /toast >}}

Tooltip

As an example, the following shortcode displays a tooltip for a colored hyperlink.

demonstration
markdown
{{< tooltip color="primary" title="Tooltip caption" href="#!" >}}Tooltip{{< /tooltip >}} demonstration
Follow me

I work on everything coding and tweet developer memes