HugoStarter

hugo-theme-nightfall — Hugo Starter Template

By lordmathis

Nightfall is a minimal dark theme for Hugo, installed via Hugo Module or manual clone, offering configuration for author information, social links, color scheme, post metadata, and pagination.

Explore the design

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

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

Minimal dark theme for Hugo, MIT licensed, repository includes a demo site

02

Supports installation via Hugo Module or manual clone to themes/nightfall

03

Configurable author information, social links, opening external links in new tabs, and date display format

04

params.styles.color supports preset colors (blue, orange, green, red) or custom hex colors

05

Post metadata (date, reading time, tags, authors, categories) supports site-level and per-post front matter overrides, with false taking precedence

06

Provides configuration entries for menus, site/post descriptions, footer HTML, and custom head

Template Details

Nightfall is a Hugo theme maintained by lordmathis, positioned as a minimal dark style, with the repository under the MIT license. The theme is imported as a Hugo Module, or manually cloned to themes/nightfall and set as theme = "nightfall" in hugo.toml. Building requires Hugo and dart-sass; the README states that since v0.146.0 the theme adapts to Hugo's new template system, and building the site requires Hugo >= 0.146.0. If you previously made overrides under /layouts, you need to migrate to the new directory structure (move _default content to /layouts, rename _markup, _partials, _shortcodes, and change index.html to home.html).

Configuration is centralized in the params section of hugo.toml: you can set user, hostname, author name/avatar/avatar size/email/avatar priority display, openLinksInNewTab controls whether external links open in a new tab, displayDateFormat customizes the date display format, and [pagination] pagerSize adjusts the number of posts per page (default 10). Social links are configured via the [[params.social]] array, supporting fields such as name, url, icon, target, aria, rel; to use icon fonts, you must include them yourself in layouts/partials/custom-head.html.

For appearance and content, params.styles.color can specify a hex color or preset colors blue, orange, green, red, with blue as default. Post metadata (tags, published date, reading time, authors, categories) is controlled by the showMetadata master switch and showPublishedDate, showReadingTime, showTags, showAuthors, showCategories, which can be overridden at the site level or in individual post front matter, with the rule "false takes precedence"; when showMetadata is false, all are hidden. Site description uses params.sitedescription, and individual post description uses the front matter description; menus are added via [[menu.header]]; footer text is customized with params.footerHtml, and the content is rendered inside a span tag.

Limitations: the theme itself does not include third-party resources such as icon fonts, which must be included separately; licenses for demo images, fonts, icons, and other assets need to be checked individually, and the MIT license only covers the code of this version; external services such as domain and hosting may incur separate charges.

HugoStarter

Is it right for your project?

Use Cases

  • Building a dark reading interface for a personal blog
  • Constructing a content site with Hugo focused on post lists and single-page reading
  • Writing scenarios that require site-level unified control of post metadata display while allowing per-post overrides
  • Sites that want to display author information via social links and a custom footer

Suitable For

  • Developers using Hugo who accept the build requirement of Hugo >= 0.146.0
  • Bloggers who prefer dark, minimal typography and are willing to configure via hugo.toml
  • Users who need MIT-licensed code and can independently verify third-party asset licenses

Getting started & customization

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

  1. 1

    Install Hugo and dart-sass; since v0.146.0, building the site requires Hugo >= 0.146.0

  2. 2

    In hugo.toml, import github.com/LordMathis/hugo-theme-nightfall via [module] imports, or git clone to themes/nightfall and set theme = "nightfall"

  3. 3

    If you previously made overrides under /layouts, migrate to the new template system: move _default content to /layouts, rename _markup/_partials/_shortcodes, and change index.html to home.html

  4. 4

    Social icons require you to include the icon font link yourself in layouts/partials/custom-head.html

  5. 5

    See the repository exampleSite/hugo.toml for a complete configuration example; licenses for demo images, fonts, icons, and other third-party assets need to be checked individually

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 imply that 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 liability limitations are governed by the original license and applicable law.

Additional costs & items to verify

  • Building a site with this theme requires installing Hugo and dart-sass yourself; the theme does not include them.
  • Since this version, building the site requires Hugo version 0.146.0 or higher; lower versions cannot build properly.
  • If you previously made template overrides in the /layouts directory, after upgrading you must migrate the directory structure to the new template system, otherwise custom layouts will fail.
  • Social link icons depend on icon fonts, which you must include via a font link in custom-head.html; the theme does not bundle this resource.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; they cannot be judged solely by the code's MIT license.
  • External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Install [Hugo](https://gohugo.io/installation/) and **[dart-sass](https://gohugo.io/functions/resources/tocss/#dart-sass)**.

Original README

building the site now requires Hugo **>= 0.146.0**

Original README

If you have made manual layout modifications (overrides in your `/layouts` folder), you will need to adjust them:

Original README

To use icons for social links, you also need to add the link to icon font to custom-head.html

Original README
https://github.com/lordmathis/hugo-theme-nightfall/blob/main/LICENSEhttps://github.com/lordmathis/hugo-theme-nightfall/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. 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
Hugo Themes
Documentation and maintenance reference score
More documented · 83 / 100
Technologies
Hugo
Website type
Starter
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
2026-03-21
Screenshot last checked
2026-10-02

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

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: 4f2bd9b9c680fe0ec14412969792b6cafe1d00fb86f233b8cddad3097a89b3e1

2026-10-02T22:21:03.915Z

Source file / repository
# Nightfall

[![Netlify Status](https://api.netlify.com/api/v1/badges/27bf2d3e-412b-442b-b234-60dbac60e714/deploy-status)](https://app.netlify.com/sites/hugo-theme-nightfall/deploys)

Nightfall is a minimal dark theme for Hugo. [Demo](https://hugo-theme-nightfall.netlify.app)

![Hugo Theme Nightfall](https://raw.githubusercontent.com/LordMathis/hugo-theme-nightfall/main/images/screenshot.png)
![Hugo Theme Nightfall Posts](https://raw.githubusercontent.com/LordMathis/hugo-theme-nightfall/main/images/screenshot_2.png)
![Hugo Theme Nightfall Single](https://raw.githubusercontent.com/LordMathis/hugo-theme-nightfall/main/images/screenshot_3.png)

## Get the theme

Install [Hugo](https://gohugo.io/installation/) and **[dart-sass](https://gohugo.io/functions/resources/tocss/#dart-sass)**.

Import as [hugo module](https://gohugo.io/hugo-modules/use-modules/#use-a-module-for-a-theme) in `hugo.toml`:

```toml
[module]
[[module.imports]]
  path = 'github.com/LordMathis/hugo-theme-nightfall'
```

OR

Import manually:

1. `git clone https://github.com/LordMathis/hugo-theme-nightfall themes/nightfall`
2. Add `theme = "nightfall"` in your `hugo.toml`:

## Hugo Theme Update Notice (v0.146.0)

The theme has been adapted for Hugo’s new template system starting with version **0.146.0**.  
With this theme update, building the site now requires Hugo **>= 0.146.0**.

If you have made manual layout modifications (overrides in your `/layouts` folder), you will need to adjust them:

1. All files that were previously located in `/layouts/_default` must be moved directly to `/layouts`. The `_default` subfolder can be deleted if it is empty.
2. If you had a `/layouts/_default/_markup` folder, this must also be moved to `/layouts/_markup`.
3. If you had `partials` or `shortcodes` as subfolders within `/layouts`, they must be renamed to `_partials` and `_shortcodes`.
4. If there is an `index.html` under `/layouts`, it must be renamed to `home.html`.

For more details, please refer to the Hugo documentation:  
👉 [Hugo New Template System Overview](https://gohugo.io/templates/new-templatesystem-overview/)

## Configuration

For full example check `exampleSite/hugo.toml`

Add these params to your `hugo.toml`

```toml
[params]
user = "hello"
hostname = "gohugo.io"

  [params.author]
    name = "Mr Hugo"
    avatar = "/avatar.png"
    avatarSize = "size-m"
    email = "[email protected]"
    avatarFirst = false
```

### External Links

You can configure external links to open in new tabs by adding this parameter:

```toml
[params]
openLinksInNewTab = true
```

When enabled, all external links (links which using http(s) in the markdown-destination) will automatically open in a new tab. Internal links will continue to open in the same tab.

### Configurable Date Format

You can configure the Date-Format for display

default:

```toml
[params]
displayDateFormat = "2006-01-02"
```

example in german:

```toml
[params]
displayDateFormat = "02.01.2006"
```

### Pagination for Posts

The default is 10 per page. To change this adding this to the config:

```toml
[pagination]
pagerSize = 3
```

### Social links

You can also add social links. To use icons for social links, you also need to add the link to icon font to custom-head.html

```toml
[[params.social]]
key = 0
name = "github"
url = "https://github.com/gohugoio"
icon = "fa-brands fa-github"  # Add link to your icon font to `layouts/partials/custom-head.html`
target = "_blank" # Defines your target option in a-href. _blank for a new Tab for example.
aria = "GitHub Profile" # Define the aria label for accessibility like page reader - this is better for your SEO

[[params.social]]
key = 1
name = "twitter"
url = "https://www.example.com"

[[params.social]]
key = 2
name = "mastodon"
url = "https://www.example.com"
rel = "me"  # You can also add rel to social link

[[params.social]]
key = 3
name = "email"
url = "mailto:[email protected]"
```

### Color

You can customize post title and link color

```toml
[params.styles]
color = "orange"
```

Specify your own color with hex value or use one of the predefined colors (blue, orange, green or red). The default color is blue. Best contrast is provided by orange.

### Post metadata

Post metadata such as tags, published date, reading time, authors, and categories can be displayed on post pages. The theme provides flexible control over metadata display with both global and per-post settings.

#### Global Metadata Settings

Add these parameters to your `hugo.toml` to control metadata display site-wide:

```toml
[params]
# Global metadata display settings
showMetadata = true      # Master switch for all metadata display (default: true)
showPublishedDate = true # Show published date on post page (default: true)
showReadingTime = true   # Show reading time on post page (default: true)
showTags = true          # Show tags on post page (default: true)
showAuthors = true       # Show authors on post page (default: true)
showCategories = true    # Show categories on post page (default: true)

# Legacy settings (still supported for backward compatibility):
# published = true           # Use showPublishedDate instead (recommended)
# readingTime = true         # Use showReadingTime instead (recommended)
```

#### Per-Post Metadata Control

You can override any global setting for individual posts by adding the same parameters to the post's frontmatter:

```yaml
---
title: 'My Post'
date: 2024-01-15
tags: ['hugo', 'theme']
categories: ['web development']

# Override global settings for this post
showMetadata: true # Master switch
showPublishedDate: true # Hide published date for this post
showReadingTime: true # Hide reading time for this post
showTags: true # Show tags
showAuthors: true # Hide authors
showCategories: true # Show categories
---
```

#### Setting Precedence

The metadata display follows a simple "false wins" approach:

1. Default behavior: All metadata is shown (true)
2. Any false setting hides the metadata
3. Master switch override: If showMetadata is false, no metadata is shown regardless of individual settings

#### Master Switch

The `showMetadata` setting acts as a master switch. If set to `false`, no metadata will be displayed regardless of other individual settings. This is useful for pages like "About" where you don't want any metadata shown.

### Description

To add a site wide description, add `sitedescription` to `hugo.toml`. For example:

```toml
[params]
sitedescription = 'Your website description'
```

You can also add a description to individual posts in you website by adding `description` to the front matter. For example:

```toml
+++
title =  'This is the post title'
draft = false
date = 2024-01-23
description = 'This is the description'
+++
```

### Menu

To add a menu item add `[[menu.header]]` item to `hugo.toml`. For example:

```toml
[menu]
  [[menu.header]]
    name = "posts"
    weight = 0
    url = "/posts"
```

### Custom Head

To use custom icons, css, js or other resources create `layouts/partials/custom-head.html` and add your links there.

### Custom footer

You can customize the text displayed in footer with `footerHtml` in `[params]` section. The value will be rendered inside `<span>` tag. For example:

```toml
[params]
footerHtml = 'CC-0, Built with <a href="https://gohugo.io" class="footerLink">Hugo</a> and <a href="https://github.com/LordMathis/hugo-theme-nightfall" class="footerLink">Nightfall</a> theme'
```
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

hugo-xmin

hugo-xmin

hugo-xmin is an extremely minimal Hugo theme written by Yihui Xie for template beginners. HTML and CSS total about 140 lines, with no external dependencies, and it uses the MIT license.

Hugo · Starter

hugo-theme-gallery

hugo-theme-gallery

A Hugo Extended photo gallery theme that organizes images with Page Bundles, automatically generating album lists and gallery pages with a Justified layout and PhotoSwipe lightbox.

Hugo · Starter

reveal-hugo

reveal-hugo

reveal-hugo is a Hugo theme that converts Markdown content into Reveal.js-based HTML presentations. It supports slide separation with `---`, shortcodes for fragments, slides, sections, notes, Markdown, and MathJax, and organizes content as root or section presentations with order controlled by weight.

Hugo · Starter

anatole

anatole

Anatole is a minimalistic two-column Hugo theme ported from farbox-theme-Anatole, featuring dark mode, multilingual and RTL support, and optional portfolio, comments, analytics, KaTeX, and Mermaid integrations. It suits personal blogs, portfolios, or documentation sites built with Hugo.

Hugo · Starter

hugo-theme-diary

hugo-theme-diary

A Hugo diary-style theme ported from the Hexo theme Journal, with a grid homepage for essays and daily notes. It supports six languages, dark mode, table-of-contents scroll positioning, reading time, code highlighting, and configurable sidebar, fonts, and colors.

Hugo · Starter

risotto

risotto

risotto is a minimalist, responsive Hugo theme inspired by terminal ricing aesthetics. It uses semantic HTML and pure CSS with no JavaScript, and its layout relies on CSS Grid for native responsiveness without manual breakpoints.

Hugo · Starter