A clean, responsive Hugo theme for blogging with Bootstrap 5.3, featuring modular sidebar, dark mode, and i18n support.
- ✨ Clean & Modern Design - Minimalist design focused on readability
- 📱 Fully Responsive - Looks great on all devices
- 🌙 Dark Mode - Automatic and manual dark mode switching
- 🔧 Modular Sidebar - Customizable sidebar with various widgets
- 🌍 Multilingual - Built-in support for English and Japanese
- 🔍 Search - Client-side search with Lunr.js
- ⚡ Fast - Optimized for performance (Lighthouse 95+)
- ♿ Accessible - WCAG 2.1 AA compliant
- 🎨 Bootstrap 5.3 - Latest Bootstrap framework
- 📊 SEO Optimized - Built-in SEO features and structured data
View the live demo: Hugo Bootstrap Blog Demo
- Hugo 0.120.0 or later
- Node.js 16+ (for building SCSS and running tests)
git submodule add https://github.com/ngs/hugo-bootstrap-blog themes/hugo-bootstrap-blog
- Initialize Hugo Modules in your project:
hugo mod init github.com/yourusername/your-site
- Add the theme to your
hugo.toml
:
[module]
[[module.imports]]
path = "github.com/ngs/hugo-bootstrap-blog"
- Copy the example site configuration:
cp themes/hugo-bootstrap-blog/exampleSite/hugo.toml .
- Copy example content (optional):
cp -r themes/hugo-bootstrap-blog/exampleSite/content .
- Start the Hugo server:
hugo server
baseURL = "https://example.com/"
languageCode = "en"
title = "My Blog"
theme = "hugo-bootstrap-blog"
paginate = 10
[params]
description = "A modern blog built with Hugo and Bootstrap"
darkMode = true
enableSearch = true
showReadingTime = true
Configure which modules appear in the sidebar:
[params]
sidebarPosition = "right" # "left" or "right"
sidebarModules = [
"search",
"profile",
"categories",
"tags",
"recent",
"archives",
"social"
]
Available modules:
search
- Search box with live search functionalityprofile
- Author profile with avatar and biocategories
- Categories list with post counttags
- Tag cloud with weighted sizesrecent
- Recent posts listarchives
- Monthly/yearly post archivessocial
- Social media linkstoc
- Table of contents (single pages only)related
- Related posts (single pages only)newsletter
- Newsletter subscription formpopular
- Popular/featured posts with thumbnailsadvertisement
- Advertisement space placeholder
[params.author]
name = "John Doe"
bio = "Web developer and blogger"
avatar = "/images/avatar.jpg"
email = "john@example.com"
[params.social]
twitter = "https://twitter.com/username"
github = "https://github.com/username"
linkedin = "https://linkedin.com/in/username"
facebook = ""
instagram = ""
youtube = ""
To enable advertisements in the sidebar:
[params.advertisement]
enabled = true
code = """
<!-- Your ad code here -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-xxxxxxxxxx"
data-ad-slot="xxxxxxxxxx"
data-ad-format="auto"></ins>
"""
[menu]
[[menu.main]]
name = "Home"
url = "/"
weight = 1
[[menu.main]]
name = "Posts"
url = "/posts/"
weight = 2
[[menu.main]]
name = "About"
url = "/about/"
weight = 3
The theme supports multiple languages. Configure in hugo.toml
:
defaultContentLanguage = "en"
[languages]
[languages.en]
languageName = "English"
weight = 1
[languages.ja]
languageName = "日本語"
weight = 2
---
title: "Post Title"
date: 2024-01-15
description: "Post description"
categories: ["Tutorial"]
tags: ["Hugo", "Bootstrap"]
image: "/images/featured.jpg"
toc: true
author: "John Doe"
---
- Install dependencies:
npm install
- Build SCSS:
npm run build
- Build the site:
hugo --minify
npm run build:scss
npm run watch:scss
npm run dev
npm run screenshot
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This theme is released under the MIT License.
Atsushi Nagase
- Website: https://ngs.io
- GitHub: @ngs
If you find this theme useful, please consider:
- Starring the repository on GitHub
- Sharing it with others
- Reporting issues
- Contributing