npq-hugo is a customizable and responsive dark blog theme with integrated contact form and code syntax highlighting
Go to file
kuoi 12c291908b
Update list.html
2021-12-29 17:33:10 +00:00
content initial commit 2020-04-11 13:28:48 +02:00
exampleSite disable micro blog by default 2020-04-19 15:07:49 +02:00
images updates 2020-04-11 20:58:41 +02:00
layouts Update list.html 2021-12-29 17:33:10 +00:00
static fix alignment issue in footer 2020-05-15 22:21:03 +02:00
.gitignore fixed untracked files 2020-04-12 19:46:10 +02:00
LICENSE updates 2020-04-11 17:27:40 +02:00 fix demo link 2020-05-17 00:32:30 +02:00
example-config.toml rename config.toml after fixing conflicts with #2 2020-05-15 22:39:38 +02:00
theme.toml remove hardcoded tags menu 2020-04-11 17:43:33 +02:00

npq hugo theme



here is a live demo you can see

main features

  • dark
  • responsive
  • out of the box contact form
  • avatar support
  • syntax highlighting
  • table of content
  • customizable


after you have installed hugo (see quick start) run the following in your site's root directory to install the theme

git clone
cp npq-hugo/example-config.toml .


this is how your config.toml will look like after installation, change the values according to your site.

baseURL = ""
languageCode = "en-us"
title = "title"
copyright = "Copyright © 20082019, Steve Francia and the Hugo Authors; all rights reserved."
theme = "npq-hugo"

  author = "your name"
  description = "your description"
  keywords = "hugo blog"
  useAvatar = true
  microBlogSection = "posts"
  displayMicroBlog = true
  displayRecent = true
  recentMax = 4
  mail = ""
  phone = "8888888888"
  formspreeID = "yourformspreeID"

    name = "home"
    pre = "<i class=\"fas fa-home fa-sm\"></i>"
    url = "/"
    weight = -9 
    name = "blog"
    pre = "<i class=\"fas fa-keyboard fa-ms\"></i>"
    url = "/blog/"
    weight = -8
    name = "tags"
    pre = "<i class=\"fas fa-tags fa-ms\"></i>"
    url = "/tags"
    weight = -7 
    name = "github"
    pre = "<i class=\"fab fa-github fa-ms\"></i>"
    url = ""
    weight = -6 
    name = "RSS"
    pre = "<i class=\"fas fa-rss fa-ms\"></i>"
    url = "/index.xml"
    weight = -4 
    name = "contact"
    pre = "<i class=\"far fa-envelope\"></i>"
    url = "/contact"
    weight = -1 

for the contact page to work you have to make a free form at formspree and put your form id in the variable formspreeID in the configuration file.

every menu entry has a corresponding section named [[menu.mail]] under [menu]. to add or change a menu entry add or change the corresponding section with name being the name displayed in the menu, pre is a text before the name (you can grap icons from fontawesome), url is the url that the menu item points to, and weight is an integer value that represent the order of the menu items (items with lower weight float)

In order to see your site updating while changing it, run Hugo's built-in local server.

hugo server

micro blog

posts in the directory "posts" (can be configured) in the contents directory will be displayed under the microblog section on the home page. if you want to pin a post to the top put pinned: true in the post's front matter. example front matter:

pinned: true
date: 2020-04-09T00:16:00+02:00