Responsive, simple, clean and content-focused Hugo theme based on the MH Magazine lite WordPress theme
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Mainroad is a responsive, simple, clean and content-focused Hugo theme based on the MH Magazine lite WordPress theme by MH Themes.

Demo (Fast update) | Standart Demo



  • Hugo internal templates (Open Graph, Twitter Cards, Disqus, Google Analytics)
  • Responsive menu
  • SVG icons
  • Theme options (Sidebar position, Author Box, Post Navigation) available through config.toml file parameters
  • Table of Contents
  • MathJax

Browser support:

  • Desktop: IE10+, Chrome, Firefox, Safari
  • Mobile: Android browser (on Android 4.4+), Safari (on iOS 7+), Google Chrome, Opera mini

Other browsers (like Opera on Blink engine) are also supported, but not tested. Support for older versions of Internet Explorer (IE9 and below) ended.


In your Hugo site themes directory, run:

$ git clone

Next, open config.toml in the base of the Hugo site and ensure the theme option is set to mainroad:

theme = "mainroad"

For more information read the official setup guide of Hugo.


Config.toml example

baseurl = "/"
title = "Mainroad"
languageCode = "en-us"
paginate = "10" # Number of posts per page
theme = "mainroad"
disqusShortname = "" # Enable comments by entering your Disqus shortname
googleAnalytics = "" # Enable Google Analytics by entering your tracking id

[Author] # Used in authorbox
  name = "John Doe"
  bio = "John Doe's true identity is unknown. Maybe he is a successful blogger or writer. Nobody knows it."
  avatar = "img/avatar.png"

  subtitle = "Just another site" # Subtitle of your site. Used in site header
  description = " John Doe's Personal blog about everything" # Site description. Used in meta description
  opengraph = true # Enable OpenGraph if true
  twitter_cards = true # Enable Twitter Cards if true
  readmore = false # Show "Read more" button in list if true
  homeLayout = "content + sidebar" # Configure home page layout
  listLayout = "content + sidebar" # Configure layout for list pages
  singleLayout = "content + sidebar" # Configure layout for single pages
  authorbox = true # Show authorbox at bottom of pages if true
  toc = true # Enable Table of Contents
  post_navigation = true # Show post navigation at bottom of pages if true
  postSections = ["post"] # the section pages to show on home page and the "Recent articles" widget
  #postSections = ["blog", "news"] # alternative that shows more than one section's pages
  #dateformat = "2006-01-02" # change the format of dates
  #mathjax = true # Enable MathJax
  #mathjaxPath = "" # Specify MathJax path
  #mathjaxConfig = "TeX-AMS-MML_HTMLorMML" # Specify MathJax config

  search = true # Enable "Search" widget
  recent_articles = true # Enable "Recent articles" widget
  recent_articles_num = 5 # Set the number of articles in the "Recent articles" widget
  categories = true # Enable "Categories" widget
  tags = true # Enable "Tags" widget
  tags_counter = false # Enable counter for each tag in "Tags" widget (disabled by default)

  # Enable "Social" widget, if any of "social_*" set a value
  social_facebook = "username"
  social_twitter = "username"
  social_linkedin = "username"
  social_telegram = "username"
  social_github = "username"
  social_email = ""
  social_google_plus = "profileid"

Front Matter example

title: "Example article title"
date: "2017-08-21"
description: "Example article description"
thumbnail: "img/placeholder.jpg" # Optional, thumbnail
disable_comments: false # Optional, disable Disqus comments if true
authorbox: true # Optional, enable authorbox for specific post
toc: true # Optional, enable Table of Contents for specific post
mathjax: true # Optional, enable MathJax for specific post
  - "Category 1"
  - "Category 2"
  - "Test"
  - "Another test"

For more information about front matter variables read Hugo Front Matter from Hugo official documentation.

Appearance Layouts

Mainroad comes with several appearance layout options for home, list and single pages.

Use homeLayout, listLayout or singleLayout parameters in site config to configure home, list and single pages appearance layouts.

Available values: content, content + sidebar, content + left sidebar


Have you found a bug or got an idea for a new feature? Feel free to use the issue tracker to let me know. Or make directly a pull request, but please respect the following contributing guide.


This theme is released under the GPLv2 license.