tomowang / hugo-theme-tailwind

Clean card Hugo theme for blog, created by using tailwindcss
https://hugo-theme-tailwind.tomo.dev/
MIT License
116 stars 49 forks source link
gohugo hugo hugo-blog hugo-blog-template hugo-blog-theme hugo-theme tailwind tailwind-theme tailwindcss theme

Hugo Theme Tailwind

logo

GitHub Workflow Status (with event) MIT license gohugo tailwindcss GitHub Repo stars

Hugo theme built using Tailwind CSS, mostly for bloggers.

Check https://hugo-theme-tailwind.tomo.dev/ for demo.

screenshot

Features

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:

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:
[module]
  [[module.imports]]
    path = "github.com/tomowang/hugo-theme-tailwind"
  1. Finally, run hugo mod get -u to download the theme.

Configuration

You can use the following configuration for basic usage.

baseURL = "https://example.com/"
title = "Hugo Theme Tailwind Example Site"
author = "Your Name"
copyright = "Your Name"
paginate = 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:

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

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

You can extend the theme by creating following files in your site folder:

Update stylesheets

This theme use Tailwind CSS for styling. If you want to make some changes, use pnpm install to install dependencies.

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

Add new icons

Search the icon in tabler icons. 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.

<i class="h-6 w-6 flex-none">
  {{ partial "icon.html" "brightness-down" }}
</i>

Star History

Star History Chart