You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Vivek R 4f0c28af2e
Merge pull request #19 from cgiacomi/feature/posttags
3 years ago
archetypes feat: initial implementation 3 years ago
exampleSite fix: readability fix for small screen devices 3 years ago
images feat: add dark mode 3 years ago
layouts fix: change layout for tags 3 years ago
static fix: change layout for tags 3 years ago feat: initial implementation 3 years ago feat: add dark mode 3 years ago
netlify.toml feat: add netlify build config 3 years ago
theme.toml feat: add dark mode 3 years ago


Clean and minimal personal blog and portfolio theme for Hugo.


View demo

Screenshot Screenshot


  • Clean and minimal
  • Dark mode (Auto detect from OS)
  • Responsive
  • Supports tags
  • Social media links
  • Google Analytics integration
  • Syntax highlighting
  • Twitter cards and opengraph tags support
  • Disqus comments
  • Hugo RSS feeds


From your Hugo site run the following.

cd themes
git clone

For more information read the official setup guide of Hugo.


baseURL = ""
languageCode = "en-us"
title = "My personal blog"
theme = "ezhil"

copyright = "© Copyright notice"

# Enable syntax highlighting.
pygmentsstyle = "vs"
pygmentscodefences = true
pygmentscodefencesguesssyntax = true

# Your Google analytics code.
googleAnalytics = "UA-123-45"
# Your Disqus sortname.
disqusShortname = "localhost"

# Number of posts to show in recent posts list (Optional). Defaults to 10.
paginate = 10

    # Blog subtitle which appears below blog title. Supports markdown.
    subtitle = "Clean and minimal personal [blog theme for Hugo]("
    # Content types which are included in home page recent posts list.
    mainSections = ["posts"]
    # Content types which are excludes Disqus comments.
    disableDisqusTypes = ["page"]
    # If social media links are enabled then enable this to fetch icons from CDN instead of hosted on your site.
    featherIconsCDN = true
    # Specify favicon (icons/i.png maps to static/icons/i.png). No favicon if not defined.
    favicon = "icons/myicon.png"
    # Switch to dark mode or auto detect mode from OS (Optional).
    # "dark" will set mode to dark and "auto" will switch to dark mode if OS is in dark mode.
    mode = "dark" # "dark" or "auto"

# Main menu which appears below site header.
name = "Home"
url = "/"
weight = 1

name = "All posts"
url = "/posts"
weight = 2

name = "About"
url = "/about"
weight = 3

name = "Tags"
url = "/tags"
weight = 4

# Social media links which shows up on site header.
# Uses feather icons for icons. You can [search icon names from here](
name = "Github"
icon = "github"
url = ""

name = "Twitter"
icon = "twitter"
url = ""

# Enable tags.
   tag = "tags"

Content type

You can specify content type with field type in your content. For example static pages can be set as type page which are excluded from recent posts and all posts page. You can use site params mainSections and disableDisqusTypes to control which page types are excluded from recent posts and Disqus comments respectively.

title: "About"
date: 2019-04-19T21:37:58+05:30
type: "page"

This is some static page where you can write about yourself.

Disable Disqus

You can disable Disqus from contents selectively or for all contents with certain content type. Use content field disqus to disable Disqus from certain contents.

title: "Content without comments"
date: 2019-04-19T21:37:58+05:30
disqus: false

This is a content without Disqus comments.

You can also disable Disqus for certain content types by using site param disableDisqusTypes. You can check config section above for example.