Swiss editorial design style: bold typography, a tight grid, and deliberate whitespace
hugo-theme-swiss-operator — Hugo Blog Template
By carlosplanchon
Swiss Operator is a minimalist Hugo theme influenced by Swiss editorial design, aimed at technical writing, engineering notes, and personal blogs that emphasize readability.
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.
Light and dark modes automatically detect system preference, with the toggle state persisted via localStorage
70/30 two-column grid that collapses to a single column on mobile
Categories can be mapped to hexadecimal colors as left-border accent colors on article cards
Built-in i18n strings for English, Spanish, and French
Supports loading Inter and JetBrains Mono locally or from Google Fonts
Template Details
Swiss Operator is a Hugo blog theme whose design draws on Swiss editorial design, emphasizing readability, typographic rhythm, grid consistency, and structural alignment. It has no gradients and no large hero sections; the interface centers on a clean reading area, making it suitable for technical writing, engineering notes, and personal blogs that require high clarity.
The theme offers light and dark modes, can automatically detect system preference, and remembers the user's choice via localStorage. The layout uses a 70/30 two-column grid that collapses to a single column on mobile. Categories can be mapped to hexadecimal colors as left-border accent colors on article cards; the default Blueprint Blue and Safety Red can also be overridden in hugo.toml.
In terms of features, the theme includes built-in i18n strings for English, Spanish, and French, can load Inter and JetBrains Mono from Google Fonts, and can also switch to self-hosted fonts. RSS is enabled by default on the home page and section pages, and optional GA4 and self-hosted Remark42 comments are supported; the comment component follows the light/dark theme. Article front matter supports description, categories, and an optional cover image, with the first category determining the card accent color.
Before use, note: the theme requires Hugo 0.110.0+, and Go 1.21+ is only needed when installing with Hugo Modules. The code is MIT-licensed and may be used, modified, used commercially, and distributed for free, but third-party assets such as demo images, fonts, and icons must be checked separately for licensing; external services such as domains and hosting may incur separate charges.
Is it right for your project?
Use Cases
- A personal blog for engineering notes and technical articles
- A work knowledge base that needs clear typography
- A writing site that distinguishes content topics by category color
- A lightweight blog that needs light/dark modes and RSS output
Suitable For
- Writers building a personal blog with Hugo
- Technical authors who prefer restrained typography
- Sites that need multilingual interface strings
- Users who want to self-host fonts or a comment system
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Hugo 0.110.0+; Go 1.21+ is also required when installing with Hugo Modules
- 2
Can be installed via git submodule or by manually cloning into themes/swiss-operator/, and the theme must be set in hugo.toml
- 3
Copying the exampleSite content can quickly initialize the configuration, then run hugo server
- 4
Category colors, accent colors, font sources, RSS, and social links are all configured under params in hugo.toml
- 5
Remark42 comments are optional and require filling in the url and site under params.remark42 in hugo.toml
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis 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 mean that external services or third-party assets are free.
Must comply with when using
- The code of this version may be used, modified, used commercially, and distributed 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
- Go 1.21+ is only required when installing the theme via Hugo Modules; installing via git submodule or manual cloning does not require Go.
- Google Analytics is an optional feature; enabling it requires providing your own GA4 measurement ID and is subject to Google's terms of service.
- Remark42 comments are an optional feature and require deploying or providing a Remark42 instance address; it is an external self-hosted service.
- By default, Inter and JetBrains Mono are loaded from Google Fonts; to avoid external requests, set localFonts = true to use the theme's built-in font files.
- Demo images, fonts, icons, and other third-party assets must be checked under 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
Go **1.21+** (only required for Hugo Modules installation)
Original README
[services.googleAnalytics] id = "G-XXXXXXXXXX"
Original README
# Optional: Remark42 comment system # [params.remark42] # url = "https://your-remark42-instance.com"
Original README
https://github.com/carlosplanchon/hugo-theme-swiss-operator/blob/main/LICENSEhttps://github.com/carlosplanchon/hugo-theme-swiss-operator/blob/main/README.mdlocalFonts = false # true → serve fonts from /assets/fonts/ instead of Google Fonts
Original README
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
- GitHub
- Documentation and maintenance reference score
- More documented · 75 / 100
- Technologies
- Hugo
- Website type
- Blog
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-06-18
- Screenshot last checked
- 2026-10-02
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.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: ccd7c1f728a94df67027cadc94cf7fc50559a7d71a30f472006d5808608e4742
2026-10-02T17:10:51.761Z
Source file / repository# Swiss Operator
A minimalist Hugo theme inspired by Swiss editorial design, built for technical writing, engineering notes, and high-clarity personal blogs.
| Light | Dark |
|---|---|
|  |  |
---
## Why Swiss Operator?
The design prioritizes **legibility**, **typographic rhythm**, **grid consistency**, and **structural alignment** - the same principles that make Swiss editorial design reliable in print. These qualities matter most in contexts where precision is non-negotiable: engineering notes, technical documentation, and working knowledge bases where the content has to carry its own weight.
No gradients, no hero sections, no visual noise. Just a clean reading surface and a layout that stays out of the way.
> "Good design is as little design as possible." - Dieter Rams
---
## Features
- **Swiss editorial aesthetic** - bold typography, tight grid, deliberate whitespace
- **Dark / light mode** - auto-detects system preference; toggle persists via `localStorage`
- **Responsive layout** - 70/30 two-column grid collapses to a single column on mobile
- **Category color coding** - assign a hex color to each category; shown as a left border accent on post cards
- **Customizable accent colors** - override the default Blueprint Blue and Safety Red from `hugo.toml`
- **Multi-language** - ships with English, Spanish, and French i18n strings
- **Local or Google Fonts** - load Inter + JetBrains Mono from Google Fonts or self-host them
- **RSS feed** - enabled for home and section pages out of the box
- **Google Analytics** - optional GA4 support via Hugo's built-in integration
- **Remark42 comments** - optional self-hosted comment system with automatic dark/light sync
- **Favicon support** - SVG, PNG, ICO, and JPEG
---
## Requirements
- Hugo **0.110.0+**
- Go **1.21+** (only required for Hugo Modules installation)
---
## Installation
### As a Git submodule
```bash
git submodule add https://github.com/carlosplanchon/hugo-theme-swiss-operator themes/swiss-operator
```
Set the theme in your `hugo.toml`:
```toml
theme = 'swiss-operator'
```
### Manual
Download or clone this repository into your site's `themes/swiss-operator/` directory, then set `theme = 'swiss-operator'` in your `hugo.toml`.
---
## Quick start
Copy the example site to bootstrap your configuration:
```bash
cp -r themes/swiss-operator/exampleSite/* .
```
Then run:
```bash
hugo server
```
---
## Configuration
Below is a full annotated `hugo.toml`:
```toml
baseURL = 'https://example.com/'
languageCode = 'en-us'
title = 'My Swiss Blog'
theme = 'swiss-operator'
[services.googleAnalytics]
id = "G-XXXXXXXXXX"
[outputs]
home = ['html', 'rss']
section = ['html', 'rss']
[params]
description = "A personal blog about your topics"
postsPerPage = 10
favicon = "/favicon.svg"
# Social links shown in the footer (all optional)
[params.social]
github = "https://github.com/username"
linkedin = "https://linkedin.com/in/username"
x = "https://x.com/username"
instagram = "https://instagram.com/username"
facebook = "https://facebook.com/username"
[params.theme]
accentBlue = "#0055FF" # Left-border accent / link color
accentRed = "#E62B1E" # Secondary accent
showRss = true
localFonts = false # true → serve fonts from /assets/fonts/ instead of Google Fonts
# Map category names to hex colors (used as left-border accents on post cards)
[params.categories]
colors = { Engineering = "#0055FF", Aviation = "#E62B1E", Design = "#000000" }
# Optional: Remark42 comment system
# [params.remark42]
# url = "https://your-remark42-instance.com"
# site = "blog"
# Navigation menu
[[menu.main]]
name = "About"
url = "/about/"
weight = 1
```
---
## Post front matter
```yaml
---
title: "My Post Title"
date: 2024-01-15
description: "A short summary shown on the post card."
categories: ["Engineering"]
image: "/images/my-cover.jpg" # optional cover image
draft: false
---
```
- `categories` - the first category determines the card's accent color.
- `image` - displayed as a 4:3 cover image on the post card.
- `description` - shown as the card subtitle on the home page.
---
## Typography
| Role | Typeface |
|---|---|
| Body & headings | [Inter](https://fonts.google.com/specimen/Inter) |
| Dates, code, metadata | [JetBrains Mono](https://fonts.google.com/specimen/JetBrains+Mono) |
To self-host both fonts, set `localFonts = true` in `[params.theme]`. The font files are already bundled under `assets/fonts/`.
---
## Multi-language
The theme ships with `i18n/en.toml`, `i18n/es.toml`, and `i18n/fr.toml`. To add another language, create a new file in your site's `i18n/` directory following the same keys.
---
## Comments (Remark42)
Uncomment and fill in the `[params.remark42]` block in `hugo.toml`. The comment widget automatically inherits the active light/dark theme.
```toml
[params.remark42]
url = "https://comments.example.com"
site = "myblog"
```
---
## License
[MIT](LICENSE)
Explore similar templates
Compare previews and descriptions within the same stack and category.

hugo-PaperMod
A fast, clean, responsive Hugo theme for blogs and lightweight portfolios, with three layout modes (Regular, Home-Info, Profile), automatic and manual light/dark themes, Fuse.js client-side search, multilingual support, and built-in Open Graph, Twitter Cards, and Schema.org data.
Hugo · Portfolio

LoveIt
LoveIt is a clean, elegant, and feature-rich Hugo blog theme derived from LeaveIt and KeepIt, MIT-licensed. It offers light/dark modes, responsive layout, multilingual support, and search via Lunr.js or Algolia.
Hugo · Blog

hugo-coder
hugo-coder is a minimalist Hugo blog theme maintained by luizdepra under the MIT license. It provides a clean, text-focused blog appearance, configuration documentation in the docs directory, and a complete exampleSite with hugo.toml.
Hugo · Blog

blowfish
Blowfish is a Hugo personal website and blog theme built with Tailwind CSS 4, focused on lightness, simplicity, and content-first presentation.
Hugo · Blog

hugo-paper
hugo-paper is a simple, clean, and customizable Hugo blog theme configured through config.toml or hugo.toml.
Hugo · Blog

hextra
Hextra is a Hugo theme for documentation and blog sites, built on Hugo and Tailwind CSS with design referencing Nextra.
Hugo · Documentation
