HugoPortfolioBlog

Hugo-Gruvbox-Theme — Hugo Portfolio Template

By MayADevBe

Hugo-Gruvbox-Theme is a minimalist Hugo theme using the Gruvbox color scheme, aimed at personal blogs and portfolios, with support for tags, social links, code highlighting, RSS, and Utterances comments.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

1 previews
Author preview
Author-provided preview

Preview provided in the project README.

One original preview is available. Open the full image to inspect the design.

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-01View source

What stands out

A quick read of the recorded project description.

01

Adopts the Gruvbox color scheme with an overall minimalist and responsive style

02

Supports tag categorization, social links, and article share buttons

03

Built-in Gruvbox-style syntax highlighting and a styled table of contents

04

Supports Twitter Cards and Open Graph, and Hugo RSS feeds

05

Integrates Google Analytics with a simple cookie consent banner

06

Supports Utterances comments

Template Details

Hugo-Gruvbox-Theme is a Hugo theme maintained by MayADevBe, positioned as a clean personal blog and portfolio site. It is inspired by the Ezhil theme and adopts the Gruvbox color scheme, with an overall minimalist and responsive style. The theme includes tag categorization, social links, Gruvbox-style syntax highlighting, Twitter Cards and Open Graph support, Hugo RSS feeds, article reading time, Google Analytics with a simple cookie consent banner, article share buttons, Utterances comments, and a styled table of contents. Installation involves cloning or extracting the repository into the Hugo site's themes directory, then configuring site title, author, menus, social links, pagination, syntax highlighting, and table of contents depth in config.toml. The theme includes a robots.txt layout that by default allows all user-agents and disallows no paths, but does not include a sitemap link; adjustments can be made in the layouts directory. Using Google Analytics triggers a simple cookie banner, whose privacy policy link defaults to BaseURL/privacypolicy and can be modified in static/js/purecookie.js. The theme is MIT licensed, allowing free use, modification, commercial use, and distribution, but third-party assets such as demo images, fonts, and icons require separate license verification, and external services such as domains and hosting may incur additional costs.

HugoPortfolioBlog

Is it right for your project?

Use Cases

  • Building a personal blog and publishing articles with tag categorization
  • Creating a personal portfolio page to showcase projects and a bio
  • Developer blogs that need the Gruvbox color scheme and code highlighting
  • Static sites using Utterances as the comment system
  • Personal websites that need RSS feeds and social sharing

Suitable For

  • Developers building personal blogs with Hugo
  • Individuals needing a minimalist portfolio site
  • Writers who prefer the Gruvbox color scheme and dark code highlighting
  • Site maintainers who want to integrate GitHub comments via Utterances

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Clone or extract the theme into the Hugo site's themes directory, and set theme = "Hugo-Gruvbox-Theme" in config.toml

  2. 2

    Place the site icon at static/ico/favicon.svg

  3. 3

    Configure params.author, params.social, menus, pagination, syntax highlighting, and table of contents depth as needed

  4. 4

    When using Google Analytics, enter the googleAnalytics tracking ID; the cookie banner's privacy policy link can be modified in static/js/purecookie.js

  5. 5

    To enable Utterances comments, set commentRepo in config.toml to a public repository

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 is the code of this version and does not mean 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 limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Using Google Analytics requires a tracking ID and triggers a simple cookie consent banner; the banner's privacy policy link defaults to BaseURL/privacypolicy and can be modified in static/js/purecookie.js.
  • Enabling Utterances comments requires setting commentRepo in config.toml to a public GitHub repository; comments depend on that external service.
  • You must place the site icon at static/ico/favicon.svg yourself; the theme does not include that icon file.
  • Demo images, fonts, icons, and other third-party assets must be checked under their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Google Analytics (+ Simple Cookie Banner)

Original README

commentRepo = "GithubName/PublicRepoName"

Original README

Put a favicon in 'static\ico\favicon.svg'

Original README
https://github.com/MayADevBe/Hugo-Gruvbox-Theme/blob/main/LICENSEhttps://github.com/MayADevBe/Hugo-Gruvbox-Theme/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-01. 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
Portfolio · 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
2024-11-09
Screenshot last checked
2026-10-01

No demo link is recorded. Use the repository instructions to evaluate the project locally; the screenshot alone cannot establish interactive behavior.

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.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 15762bc1fc67cc2fdd86be677e00aae05eb8610e580e99c38d2a4afb135aac36

2026-10-01T00:55:37.189Z

Source file / repository
# Hugo-Gruvbox-Theme

Simple personal blog/portfolio theme for Hugo.

Inspired by the [Ezhil](https://github.com/vividvilla/ezhil) theme and with the colors from [Gruvbox](https://github.com/morhetz/gruvbox).

## Features

- Gruvbox theme
- Minimal
- Responsive
- Supports tags
- Social Media Links
- Syntax highlighting (Gruvbox)
- Twitter cards + opengraph support
- Hugo RSS feed
- Reading Time of Posts
- Google Analytics (+ Simple Cookie Banner)
- Post Sharing Button
- Utterances Comments Feature support
- TableOfContents styled

## Demo

[View Website](https://mayadevbe.me/)
![Screenshot](images/screenshot.PNG "Gruvebox Theme")

[Erik Zaadis Blog](https://erikzaadi.com/) is now also using this theme.

## Installation

- clone
  From the Hugo-Site folder
  ```
  cd themes
  git clone https://github.com/MayADevBe/Hugo-Gruvbox-Theme.git
  ```
- download
  Unzip into the 'themes' folder

- optional: in the layouts folder configure the 'robots.txt' file
(default allows all user-agents and no disallows, but no sitemap link)

For more information checkout the [Hugo Installation Guide](https://gohugo.io/getting-started/installing/)

## Configuration

- Put a favicon in 'static\ico\favicon.svg'
- 'config.toml' example:

```toml

baseURL = "http://example.com/"
languageCode = "en-us"
title = "Website Name"
theme = "Hugo-Gruvbox-Theme"

copyright = "© Copyright Notice"

#For Pagination
pagination.pagerSize = 5

enableRobotsTXT = true

[params.author]
name = "Author Name"
email = "[email protected]"

[params]
    # Blog subtitle + For Twitter cards
    description = "A Blog about ..."
    #Google Analytics Tracking ID
    googleAnalytics = "UA-xxxxxxxxx-x"
    # Related Posts
    enableRelatedPosts = true
    relatedPostsNumber = 2
    #For Utterances Comments Feature - need to add repo
    commentRepo = "GithubName/PublicRepoName"

#Main Menu (below header)
[[menu.main]]
name = "Home"
url = "/"
weight = 1

[[menu.main]]
name = "All Posts"
url = "/posts"
weight = 2

[[menu.main]]
name = "Tags"
url = "/tags"
weight = 3

[[menu.main]]
name = "About"
url = "/about"
weight = 4

#Footer Menu
[[menu.footer]]
name = "Imprint"
url = "/imprint"
weight = 1

[[menu.footer]]
name = "PrivacyPolicy"
url = "/privacypolicy"
weight = 2

# Social Media Links (in header)
# Uses feather icons (search icon names on the site)
[[params.social]]
name = "Github"
icon = "github"
url = "https://github.com/MayADevBe"

[[params.social]]
name = "Twitter"
icon = "twitter"
url = "https://twitter.com/MayADevBe"

#enable tags
[taxonomies]
  tag = "tags"

# allow raw HTML
[markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true

# Syntax Highlighting
pygmentsUseClasses = true
pygmentsCodefences = true
[markup.highlight]
    codeFences = true
    guessSyntax = true
    hl_Lines = ""
    lineNoStart = 1
    lineNos = true
    lineNumbersInTable = true
    tabWidth = 4
    noClasses = false

# Table of content depth and list type
[markup.tableOfContents]
  endLevel = 4
  ordered = false
  startLevel = 2

#related config
[related]
  includeNewer = true
  threshold = 80
  toLower = true

  [[related.indices]]
    name = "tags"
    weight = 100

  [[related.indices]]
    name = "date"
    weight = 10

```

### Simple Cookie Banner

- shows up when Google Analytics is used
- because of DSGVO
- contains link to privacy policy (BaseURL/privacypolicy)
  - can be change in static/js/purecookie.js line 4: `purecookieLink`
  - adds google analytics consent in head.html

## Credits

- [Ezhil](https://github.com/vividvilla/ezhil)
- [Gruvbox](https://github.com/morhetz/gruvbox)
- [Feather Icons](https://feathericons.com/)
- [Sharing Buttons](https://sharingbuttons.io/)
- [Utterances](https://github.com/utterance/utterances)
- [PureCookie - Cookie Consent Popup](https://www.cssscript.com/cookie-consent-popup-purecookie/)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.