Card-based blog layout built with Tailwind CSS
hugo-theme-tailwind — Hugo Blog Template
By tabs-not-spaces
A Hugo blog theme built with Tailwind CSS, featuring a card-based layout, dark mode, multilingual support, site search, and a comment system.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Supports dark mode, manually toggleable or following system preference
Built-in site search based on fuse.js and mark.js
Configurable Disqus and giscus comment systems
Supports multilingual and responsive design
Provides JSON-LD structured data and optional PWA support
Template Details
This is a Hugo theme for blogs, styled with Tailwind CSS and presenting a card-based layout. The theme offers dark mode toggle (which can follow system preference), responsive design, multilingual support, and site search based on fuse.js and mark.js. Articles can have cover images and support lazy loading and srcset processing.
For integrations, the theme includes configuration options for Google Analytics, Disqus, and giscus comments, provides social media link settings, and supports enabling JSON-LD structured data via front matter or configuration files. It also includes additional shortcodes such as bilibili and asciinema, as well as optional PWA support.
Installation supports both Git Submodule and Hugo Module. The theme code is under the MIT license, allowing free use, modification, and distribution; however, third-party assets such as images, fonts, and icons in the demo site require separate license verification, and external services like domain and hosting may incur costs.
Is it right for your project?
Use Cases
- Building a personal tech blog or writing site
- Blog projects requiring dark mode and site search
- Hugo sites wanting to customize styles with Tailwind CSS
- Blogs needing integrated comment systems and social links
Suitable For
- Developers building blogs with Hugo
- Users who prefer a Tailwind CSS workflow
- Authors needing multilingual blog support
- Site maintainers wanting to quickly configure comments and search
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
The theme can be installed via Git Submodule or Hugo Module
- 2
The example site's giscus configuration uses the author's own repository; replace it with your own before use
- 3
Enabling JSON-LD and PWA requires manual activation in configuration files or front matter; they are disabled by default
- 4
Custom styles require installing dependencies with pnpm and developing via pnpm dev
- 5
Third-party assets such as demo images, fonts, and icons require separate license verification
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope applies to that version's code and does not imply that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as-is; warranties and liability limitations are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets require separate license verification and cannot be judged solely by the code's MIT license.
- External services such as domain, hosting, database, payment, or AI may incur additional charges.
- The example site's giscus comment configuration defaults to the author's own repository; users should replace it with their own repository via giscus.app, otherwise the comment function will point to the author's repository.
- Enabling Google Analytics requires providing your own Google Analytics ID and writing it into hugo.toml; it is an external service and may involve accounts and costs.
- Comment functionality relies on third-party external services such as Disqus or giscus, which require separate registration and configuration and may be subject to their terms of service and fees.
- Site search relies on two third-party libraries, fuse.js and mark.js, whose licenses and usage conditions require separate verification.
- The SVG icons used by the theme come from the third-party project tabler icons; the licensing of the icon assets requires separate verification.
- The exampleSite content is taken from hugoBasicExample and modified; that example content may be subject to different license terms.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
> The exampleSite's `giscus` setting uses my own profile repo. > You **SHOULD** change it to your own repo (by using <https://giscus.app/>).
Original README
Google Analytics - add your Google Analytics ID to `hugo.toml`
Original README
Comments settings for [disqus](https://disqus.com/) and [giscus](https://giscus.app/)
Original README
Search (by using [fuse.js](https://fusejs.io/) and [mark.js](https://markjs.io/))
Original README
SVG icons thanks to [tabler icons](https://tabler-icons.io/)
Original README
https://github.com/tabs-not-spaces/hugo-theme-tailwind/blob/main/LICENSEhttps://github.com/tabs-not-spaces/hugo-theme-tailwind/blob/main/README.md> `exampleSite` is fetched from https://github.com/gohugoio/hugoBasicExample with some modifications.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-05. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- Partly documented · 74 / 100
- Technologies
- Hugo
- Website type
- Blog
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2025-03-26
- Screenshot last checked
- 2026-10-05
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Hugo as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-05
Inspect the recorded source material
SHA-256: 2bc322f93837faa44c4b04607dc9cad5cd2108c18daf6a66483f7bff3a8719b1
2026-10-05T00:45:30.216Z
Source file / repository# Hugo Theme Tailwind
<img align="right" width="128" alt="logo" src="https://raw.githubusercontent.com/tomowang/hugo-theme-tailwind/main/static/logo.svg">


[](https://gohugo.io/)
[](https://tailwindcss.com/)

Hugo theme built using [Tailwind CSS](https://tailwindcss.com/), mostly for bloggers.
Check [https://hugo-theme-tailwind.tomo.dev/](https://hugo-theme-tailwind.tomo.dev/) for demo.

## Features
* High Lighthouse score
* Dark mode - switch between light and dark mode, or default by system prefers.
* SVG icons thanks to [tabler icons](https://tabler-icons.io/)
* Google Analytics - add your Google Analytics ID to `hugo.toml`
* Comments settings for [disqus](https://disqus.com/) and [giscus](https://giscus.app/)
* Social media link data settings
* Additional short code: bilibili, asciinema
* Responsive design
* Multilingual
* Default image process for lazy load and srcset
* Search (by using [fuse.js](https://fusejs.io/) and [mark.js](https://markjs.io/))
* Image support for article (using `image` param in front matter)
* Structured data [JSON-LD](https://json-ld.org/) for article (enable `jsonLD` in config file or front matter)
* Simple [PWA](https://web.dev/add-manifest/) support - check `params.pwa` in config file
## Installation
You can install the theme by using git submodule or hugo module.
### Git Submodule
Add the theme as a submodule by running the following command in the
root directory of your Hugo site:
```bash
git submodule add https://github.com/tomowang/hugo-theme-tailwind.git themes/tailwind
# Or to update to the latest version
git submodule update --remote
```
### Hugo Module
1. First, initialize module for your Hugo site: `hugo mod init github.com/username/xxxx`
2. Then, add module import in your `hugo.toml`:
```toml
[module]
[[module.imports]]
path = "github.com/tomowang/hugo-theme-tailwind"
```
3. Finally, run `hugo mod get -u` to download the theme.
## Configuration
> [!IMPORTANT]
> The exampleSite's `giscus` setting uses my own profile repo.
> You **SHOULD** change it to your own repo (by using <https://giscus.app/>).
You can use the following configuration for basic usage.
```toml
baseURL = "https://example.com/"
title = "Hugo Theme Tailwind Example Site"
author = "Your Name"
copyright = "Your Name"
pagination.pagerSize = 10
languageCode = "en"
theme = "tailwind"
[markup]
_merge = "deep"
[params]
# dir name of your blog content (default is `content/posts`).
# the list of set content will show up on your index page (baseurl).
contentTypeName = "posts"
[params.header]
logo = "logo.webp"
[params.footer]
since = 2023
poweredby = true
[menu]
[[menu.main]]
identifier = "post"
name = "Post"
pageRef = "/posts"
weight = 10
[[menu.main]]
identifier = "about"
name = "About"
pageRef = "/about"
weight = 20
[taxonomies]
category = "categories"
tag = "tags"
series = "series"
```
For advanced usage, please refer to config directory `config/_default` and
`exampleSite/config/_default`.
Some of the configuration options are:
* `markup`: goldmark and options for markdown rendering
* `params.header`: header settings (logo and sticky navbar)
* `params.footer`: footer settings (copyright years, powered by, etc.)
* `contentTypeName`: dir name of your blog content (default is `content/posts`).
* `params.taxonomies.icons`: icons for taxonomies (categories, tags, series, etc.).
* `params.giscus`: giscus settings
* `params.social_media`: social media links shown in the footer
* `params.search`: search settings
* `params.author`: author used in the JSON-LD
* `params.showAuthor`: show author name in article list and article page
* `params.jsonLD`: enable or disable JSON-LD (default disabled)
* `params.pwa`: enable or disable PWA (default disabled)
For social media link data, you can refer entries in `params.social_media.items`
(You can add more or disable existing entries in `params.social_media.items`).
```toml
[[social_media.items]]
enabled = false
title = 'Facebook'
icon = 'brand-facebook'
link = 'https://www.facebook.com/'
```
## Development
### Extend functionality
The theme folder structure is as follows:

You can extend the theme by creating following files in your site folder:
* `layouts/partials/custom_head.html`
* `layouts/partials/custom_footer.html`
### Update stylesheets
This theme use Tailwind CSS for styling. If you want to make some changes,
use `pnpm install` to install dependencies.
* Development: `pnpm dev`, this will generate css for theme users and start example site.
> `exampleSite` is fetched from https://github.com/gohugoio/hugoBasicExample
with some modifications.
### Add new icons
Search the icon in [tabler icons](https://tabler-icons.io/).
**Download** or **Copy SVG** and paste to `theme/tailwind/assets/icons/`.
Remember to remove `width="24" height="24"` in the SVG file. Use the icon file
name in your site configuration. Or if you want to update theme layout content,
you can use the following code.
```html
<i class="h-6 w-6 flex-none">
{{ partial "icon.html" "brightness-down" }}
</i>
```
## Star History
[](https://star-history.com/#tomowang/hugo-theme-tailwind&Date)
Explore similar templates
Compare previews and descriptions within the same stack and category.

hugo-PaperMod
A fast, clean, responsive Hugo theme for blogs and lightweight portfolios, with three layout modes (Regular, Home-Info, Profile), automatic and manual light/dark themes, Fuse.js client-side search, multilingual support, and built-in Open Graph, Twitter Cards, and Schema.org data.
Hugo · Portfolio

LoveIt
LoveIt is a clean, elegant, and feature-rich Hugo blog theme derived from LeaveIt and KeepIt, MIT-licensed. It offers light/dark modes, responsive layout, multilingual support, and search via Lunr.js or Algolia.
Hugo · Blog

hugo-coder
hugo-coder is a minimalist Hugo blog theme maintained by luizdepra under the MIT license. It provides a clean, text-focused blog appearance, configuration documentation in the docs directory, and a complete exampleSite with hugo.toml.
Hugo · Blog

blowfish
Blowfish is a Hugo personal website and blog theme built with Tailwind CSS 4, focused on lightness, simplicity, and content-first presentation.
Hugo · Blog

hugo-paper
hugo-paper is a simple, clean, and customizable Hugo blog theme configured through config.toml or hugo.toml.
Hugo · Blog

hextra
Hextra is a Hugo theme for documentation and blog sites, built on Hugo and Tailwind CSS with design referencing Nextra.
Hugo · Documentation
