Dark theme appearance, with styles written using TailwindCSS
Niello — Hugo Starter Template
By guangmean
Niello is a dark theme for Hugo built with TailwindCSS, with built-in configuration options for multilingual support, search, archives, AdSense, and GA4.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
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.
What stands out
A quick read of the recorded project description.
Responsive layout that adapts to different screen sizes
Built-in multilingual (i18n) support, with menus and content directories configurable per language
Content search functionality, requiring JSON output for home and a page with the search layout
Optional integrations for Google AdSense, GA4, Disqus comments, and ShareThis sharing
Supports date-based archives and hiding specified articles via category configuration
Template Details
Niello is a dark theme for Hugo. The repository describes it as "A Dark Theme for Hugo" and it is released under the MIT license. The theme uses TailwindCSS for styling, has a responsive layout, and includes built-in multilingual (i18n) support.
In terms of features, the README lists content search, automatic image extraction from articles, a date-based archive page, hiding articles in specified categories, and integrations for Google AdSense, Google Analytics 4, Disqus comments, and ShareThis sharing. Search requires the site to output JSON for home in hugo.toml and to provide a search page under content with layout = "search"; archives require adding archives.md in the content root or in each language directory; hiding articles is configured via params.ignore.categories, and ignored articles must have the corresponding category in their front matter.
Regarding usage constraints, the theme is installed by git clone into themes/Niello, and configuration is illustrated with hugo.toml, including sections such as languages and params. To modify the theme source, you need to initialize TailwindCSS inside the theme directory and run its CLI build command. AdSense, GA4, Disqus, and ShareThis are all optional configurations and require filling in the corresponding parameters yourself. The licenses for third-party assets such as demo images, fonts, and icons must be checked separately; the MIT license for the code does not cover these assets.
Is it right for your project?
Use Cases
- Building a Hugo blog or content site focused on a dark reading experience
- Sites that need multilingual content directories and a language-switching menu
- Sites that want to integrate AdSense ads or GA4 analytics for articles
- Hugo projects that need site search, an archive page, and category-based hiding
Suitable For
- Bloggers using Hugo who prefer a dark theme
- Site maintainers who need to organize multilingual content such as Chinese and English
- Developers who want to configure ads, analytics, and comment services at the theme level
- Content sites that need site search and date-based archives
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Install by running git clone https://github.com/guangmean/Niello.git themes/Niello in the Hugo site root directory
- 2
Set theme = "Niello" in hugo.toml and configure sections such as languages and params according to the example
- 3
To enable search, output JSON for home and create a search page under content with layout = "search"
- 4
To enable archives, add archives.md in the content root or in each language directory and set layout = "archives"
- 5
Before modifying the theme source, install TailwindCSS and its CLI inside themes/Niello and run the build watch command
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; the free scope applies to that version's code and does not mean external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute this version's code for free.
- 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
- Google AdSense is optional and requires entering your publisher ID to enable ads.
- Google Analytics 4 is optional and requires entering your GA4 measurement ID to enable analytics.
- ShareThis sharing is optional and requires applying for and entering a ShareThis appid.
- Disqus comments are optional and require registering and entering a Disqus shortname.
- Site search requires configuring JSON output for home in hugo.toml and creating a search page with the search layout.
- The archive feature requires manually adding an archives.md file in the content root or in each language directory.
- Before modifying the theme source, install TailwindCSS and its CLI in the theme directory and run the build command.
- Demo images, fonts, icons, and other third-party assets must be checked against 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 separate charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
google_ad_client = "ca-pub-******" //Optional, replace ca-pub-****** with your content
Original README
ga4 = "G-******" //Optional, replace G-****** with your Google Analytics GA4
Original README
sharethis = "******" // Optional, Add hou ShareThis appid here
Original README
shortname = "******" // Optional, Disqus Comment Short Name
Original README
To enable the search functionality, you need to configure JSON output in the hugo.toml file
Original README
To enable the archives functionality, you need to manually add an archives.md file to the content root directory
Original README
https://github.com/guangmean/Niello/blob/master/LICENSEhttps://github.com/guangmean/Niello/blob/master/README.mdBefore making changes, ensure you initialize TailwindCSS in your project and follow the setup instructions
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-03. 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
- Partly documented · 67 / 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
- 2025-12-25
- Screenshot last checked
- 2026-10-03
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.
Review declaration: [email protected] · 2026-10-04
Inspect the recorded source material
SHA-256: 9c4de371118f528409a7296ab883fa61ef8423467ae0cfa5f93af4b7a61b4444
2026-10-03T15:58:43.776Z
Source file / repository# Niello - Hugo Dark Theme with Ongoing Updates
---
Niello is a modern and feature-rich Hugo theme, designed to elegantly showcase your content with a sleek dark aesthetic. Built with TailwindCSS for clean and scalable styling, its responsive design adapts perfectly to all screen sizes for a smooth browsing experience. The theme comes equipped with Google Analytics, AdSense support, Disqus comments, social sharing, and built-in search functionality, making it easy to manage and expand your online presence.
---
## Key Features
- [x] Offers a sleek dark theme for enhanced readability and visual appeal.
- [x] Responsive Design, adapts seamlessly to any screen size for a smooth browsing experience.
- [x] Multi-language Support (i18n), ready for global audiences with built-in internationalization.
- [x] Content Search, easily locate articles with integrated search functionality.
- [x] Automatic Image Extraction, automatically pulls images from articles for a richer presentation.
- [x] Monetization:
- [x] Google AdSense, supports ads for easy site monetization.
- [x] Google Analytics, track site performance and user engagement.
- [x] Enhanced Styling:
- [x] Tailwind CSS, based on Tailwind for fast and flexible styling.
- [x] Syntax Highlighting, provides clear code display for technical content.
- [x] Organized Archives, displays past posts by date, making content easier to navigate.
- [x] Ignore Some Categories, hide the posts that you don’t want to show.
---
## Screenshot

---
## Installation
To install the Niello theme, run the following command in the root directory of your Hugo site:
```shell
git clone https://github.com/guangmean/Niello.git themes/Niello
```
---
## Configuration
Below is an example of the hugo.toml file(previously config.toml) for your site:
```toml
baseURL = "https://www.angularcorp.com/" # Must end with splash
defaultContentLanguage = "en"
defaultContentLanguageInSubdir = true
staticDir = ["themes/Niello/static", "static"]
theme = "Niello"
[languages]
[languages.en]
title = "{CodeTrace} - Discover Issues, Share Solutions."
languageCode = "en-us"
LanguageName = "🇺🇸EN"
contentDir = "content/en"
weight = 1
[[languages.en.menus.main]]
name = 'Home'
pageRef = '/'
weight = 1
[[languages.en.menus.main]]
name = 'Categories'
pageRef = '/categories'
weight = 2
[[languages.en.menus.main]]
name = 'Tags'
pageRef = '/tags'
weight = 3
[[languages.en.menus.main]]
name = 'Contact'
pageRef = '/contact'
weight = 4
[languages.zh]
title = "{码途轨迹} - 发现问题,分享解决."
languageCode = "zh-cn"
LanguageName = "🇨🇳CN"
contentDir = "content/zh"
weight = 2
[[languages.zh.menus.main]]
name = '首页'
pageRef = '/'
weight = 1
[[languages.zh.menus.main]]
name = '文章分类'
pageRef = '/categories'
weight = 2
[[languages.zh.menus.main]]
name = '标签'
pageRef = '/tags'
weight = 3
[[languages.zh.menus.main]]
name = '联系我们'
pageRef = '/contact'
weight = 4
[params]
[params.google]
google_ad_client = "ca-pub-******" //Optional, replace ca-pub-****** with your content
ga4 = "G-******" //Optional, replace G-****** with your Google Analytics GA4
[params.bannershowcase]
categories = ["AI"]
limit = 2
[params.email]
contact = "[email protected]"
[params.ignore]
categories = ["privacy", "terms", "archives", "cookie"]
[params.license]
copyright = "© 2019 ~ 2025 by guangmean. All Rights Reserved."
[params.share]
sharethis = "******" // Optional, Add hou ShareThis appid here
[params.disqus]
shortname = "******" // Optional, Disqus Comment Short Name
[outputs]
home = ["HTML", "JSON"]
```
---
## Overriding Theme i18n Keys
If you need to customize certain translation keys without modifying theme files, you can override the theme's i18n keys at the site level. Simply create an `i18n` folder in your site’s root directory and add the keys you want to override there.
To override `sitename`, `siteslogan`, `siteseokeywords` and `siteseodescription` from the theme’s i18n file, follow these steps:
1. In your site’s root directory, create an `i18n` folder if it doesn’t already exist.
2. Inside the `i18n` folder, create the appropriate language file (e.g., `en.toml`).
3. Add the following content to override the theme's i18n keys:
```shell
# File path: i18n/en.toml
[sitename]
other = "Site Name"
[siteslogan]
other = "Site Slogan"
[siteseokeywords]
other = "Site Home SEO Keywords"
[siteseodescription]
other = "Site Home SEO Description"
```
---
## Customizing the Theme by Editing Source Code
If you plan to modify this theme, note that it is built with TailwindCSS. Before making changes, ensure you initialize TailwindCSS in your project and follow the setup instructions to properly configure your development environment.
```shell
cd themes/Niello
# Run the command to install Tailwind CSS
npm install tailwindcss @tailwindcss/cli
# Run the command to build and watch for updates
npx @tailwindcss/cli -i assets/css/main.css -o assets/css/app.css --minify --watch
```
---
## Google Adsense & Google Analytics 4 (GA4)
Niello supports Google AdSense by configuring the googleadclient parameter in the [params] block and Google Analytics 4 (GA4) by setting the ga parameter in the hugo.toml file(previously config.toml), as shown above.
---
## Search
To enable the search functionality, you need to configure JSON output in the hugo.toml file by adding the following:
```shell
[outputs]
home = ["HTML", "JSON"]
```
And a search folder with an _index.md file under the content directory is required, for example: content/en/search/_index.md
+++
title = "Search Results"
date = 2024-12-13T15:00:00+08:00
draft = false
layout = "search"
+++
With this setup, the search URL will be /en/search/?q=keywords
---
## Archives(Options)
To enable the archives functionality, you need to manually add an archives.md file to the content root directory:
```shell
|--- content
|-------| archives.md
```
or multilingual exampl:
```shell
|--- content
|-------| en
|----------| archives.md # English
|-------| zh
|----------| archives.md # Chinese
```
The content should be as follows:
```shell
+++
title = 'Archives'
date = 2024-10-25T09:16:03+08:00
draft = false
categories = ["archives"]
layout = "archives"
+++
```
---
## Ignore Posts(Options)
To exclude posts like cookie.md, privacy.md, and terms.md, configure the site parameters as follows:
```shell
[params]
[params.ignore]
categories = ["privacy", "terms", "archives", "cookie"]
```
The content structure is as follows, and posts to be ignored must have categories specified in their front matter.
```shell
|---content/en
|---cookie.md
|---privacy.md
|---terms.md
|
|---/example1
|---example1-1.md
|---example1-2.md
|---/example2
|---example2-1.md
|---example2-2.md
|---example2-3.md
|---content/fr
|---content/zh
|---content/de
```
## ShareThis
Niello supports sharing your content to other platforms via [ShareThis](https://sharethis.com).
---
## Live Demo
A full demo is available here: [https://www.angularcorp.com](https://www.angularcorp.com/en/post/)
---
## How to run the exampleSite
Run the following command in your site root directory to launch the example site
```shell
hugo server --source themes/Niello/exampleSite --themesDir ../.. --theme Niello
```
---
## Buy a Coffee for Me
[](https://ko-fi.com/I2I1NFXI2)
Explore similar templates
Compare previews and descriptions within the same stack and category.

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
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 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 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
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 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
