HugoBlog

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.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-04View source

What stands out

A quick read of the recorded project description.

01

Card-based blog layout built with Tailwind CSS

02

Supports dark mode, manually toggleable or following system preference

03

Built-in site search based on fuse.js and mark.js

04

Configurable Disqus and giscus comment systems

05

Supports multilingual and responsive design

06

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.

HugoBlog

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. 1

    The theme can be installed via Git Submodule or Hugo Module

  2. 2

    The example site's giscus configuration uses the author's own repository; replace it with your own before use

  3. 3

    Enabling JSON-LD and PWA requires manual activation in configuration files or front matter; they are disabled by default

  4. 4

    Custom styles require installing dependencies with pnpm and developing via pnpm dev

  5. 5

    Third-party assets such as demo images, fonts, and icons require separate license verification

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This 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

> `exampleSite` is fetched from https://github.com/gohugoio/hugoBasicExample with some modifications.

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

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">

![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/tomowang/hugo-theme-tailwind/.github%2Fworkflows%2Fdeploy.yaml)
![MIT license](https://img.shields.io/github/license/tomowang/hugo-theme-tailwind)
[![gohugo](https://img.shields.io/badge/Made_with-Hugo-blue)](https://gohugo.io/)
[![tailwindcss](https://img.shields.io/badge/Made_with-Tailwind_CSS-blue)](https://tailwindcss.com/)
![GitHub Repo stars](https://img.shields.io/github/stars/tomowang/hugo-theme-tailwind)

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.

![screenshot](https://raw.githubusercontent.com/tomowang/hugo-theme-tailwind/main/images/screenshot.png)

## 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:

![hugo theme layout structure](https://raw.githubusercontent.com/tomowang/hugo-theme-tailwind/main/images/hugo-theme-layout-structure.png)

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

[![Star History Chart](https://api.star-history.com/svg?repos=tomowang/hugo-theme-tailwind&type=Date)](https://star-history.com/#tomowang/hugo-theme-tailwind&Date)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.