# Bootstrap

notes

Sticky footers

11 May 2025

To make a sticky footer in the Bootstrap you can use the below.

<body class="d-flex flex-column min-vh-100">
  <main class="flex-fill">
    <!-- Your page content here -->
  </main>

  <footer class="bg-dark text-white text-center py-2">
    <!-- Your footer content here -->
  </footer>
</body>
  • d-flex flex-column min-vh-100 on : makes the body fill the viewport and act like a vertical Flexbox container.
  • flex-fill on : makes the content area take up all available vertical space, pushing the footer down.
  • footer: stays at the bottom even with short content.
notes

Hide details in the mobile screen with Bootstrap

7 May 2025

In the feed page I need to hide the dotted line in the mobile screens. So here you can see how its can be done in Bootstrap.

  • d-none d-md-flex: shows only on md and up (desktop/tablet)

  • d-block d-md-none: shows only on mobile

  • text-nowrap: prevents text from wrapping

<div class="mb-3">
  <!-- Desktop layout -->
  <div class="d-none d-md-flex align-items-center">
    <a href="{{ .Permalink }}" class="text-decoration-none fw-medium me-2 text-nowrap">
      Sample heading
    </a>
    <div class="flex-grow-1 border-bottom dotted-line mx-2"></div>
    <p class="text-muted small text-nowrap mb-0">Date</p>
  </div>

  <!-- Mobile layout -->
  <div class="d-block d-md-none">
    <a href="{{ .Permalink }}" class="text-decoration-none fw-medium d-block mb-1">
      Sample heading
    </a>
    <p class="text-muted small mb-0">Date</p>
  </div>
</div>
notes

How to break columns in Bootstrap

3 November 2024

Breaking columns to a new line in flexbox requires a small hack: add an element with width: 100% wherever you want to wrap your columns to a new line.

<div class="container text-center">
  <div class="row">
    <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
    <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>

    <!-- Force next columns to break to new line -->
    <div class="w-100"></div>

    <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
    <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
  </div>
</div>

You can also apply this break at specific breakpoints with our responsive display utilities.

<div class="container text-center">
  <div class="row">
    <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
    <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>

    <!-- Force next columns to break to new line at md breakpoint and up -->
    <div class="w-100 d-none d-md-block"></div>

    <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
    <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
  </div>
</div>
References

Bootstrap Doc

essay

Watchbi - Bootstrap Coming Soon theme

10 October 2021
Watchbi is a minimal and simple responsive coming soon theme built in Bootstrap v5 with Bootstrap icons...
essay

Rootbi - Bootstrap portfolio theme

10 May 2021
Rootbi is a responsive portfolio theme built in Bootstrap which contains an home, blog, notes, projects...
essay

Lightbi - Hugo Theme

16 January 2021
Lightbi is a sleek blog theme for Hugo, the fast static site generator. It's thoughtfully designed for a smooth and elegant blogging experience.
projects

Lightbi Hugo Theme

16 January 2021

Lightbi is a modern, elegant Hugo theme focused on readability, performance, and content-first design. It offers a clean, minimal experience for personal blogs, digital gardens, and long form writing, with two homepage modes, Profile for personal introductions and Blog for content driven sites, plus responsive layouts and light/dark mode support.

Lightbi profile and blog home page

Lightbi profile and blog home page

Demo & GitHub

Screenshots

You can find the screenshots of the theme below:

Features

Below are the features of Lightbi theme.

General

  • Two Modes:

    • Profile
    • Blog
  • Two Main Content Sections:

    • Blog
    • Notes
  • Responsive Design:

    • Built with a mobile-first approach for seamless viewing on any device.
  • Card-Based Theme:

    • Flexible image placement options:
      • Image at the top of the card
      • Image in the middle of the card
      • Image at the bottom of the card
      • No image option
  • Image Gallery
    Β Β You can add multiple images to your post and display them beautifully as a gallery.

  • Menu Location Indicator:
    Clear visual cues for active menu items.

  • Multilingual Support:
    Includes a language selector for easy switching between languages.

  • Taxonomies:
    Organize content effectively with customizable tags and categories.

  • Search Functionality:
    Integrated search option for quick content access.

  • Light/Dark Theme:

    • Automatic theme switching based on browser preferences.
    • Includes a manual theme-switch button for user control.
  • Google Analytics Integration:
    Track user activity with built-in support for Google Analytics.

  • SEO-Friendly:
    Optimized for search engines to improve visibility.

  • Commit SHA in Footer:
    Display the current commit SHA for version tracking.

  • Self-Hosted Assets:
    Compliant with GDPR / EU-DSGVO regulations by hosting all assets locally.

  • Bootstrap Icons:
    Beautiful, lightweight icons integrated with Bootstrap Icons.

Page
  • Other Posts suggestion below a post.
  • Social-Media Share buttons on posts.
  • Syntax highlighting.
  • Cover image for each post (with Responsive image support).

Configurations

Select theme mode

To configure the theme for either profile or blog mode, add the following under the params section in your hugo.toml file:

  • Set homepageLayout = "profile" for profile mode
  • Set homepageLayout = "blog" for blog mode

Card based theme.

To customize the image placement within a card, the Lightbi theme offers four flexible options. To configure this, use the previewCardImagePlacement parameter in the hugo.toml file. Set it as follows:

  • For the image at the top: previewCardImagePlacement = "top"
  • For the image in the middle: previewCardImagePlacement = "middle"
  • For the image at the bottom: previewCardImagePlacement = "bottom"
  • For no image: previewCardImagePlacement = "none"

For more details about parameters you can check here.

This theme is designed to help you build amazing websites with ease. I would love to hear your feedback and see your creations.