HugoBlog

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.

1 previews
Author preview
Author-provided preview

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.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

Swiss editorial design style: bold typography, a tight grid, and deliberate whitespace

02

Light and dark modes automatically detect system preference, with the toggle state persisted via localStorage

03

70/30 two-column grid that collapses to a single column on mobile

04

Categories can be mapped to hexadecimal colors as left-border accent colors on article cards

05

Built-in i18n strings for English, Spanish, and French

06

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.

HugoBlog

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

    Requires Hugo 0.110.0+; Go 1.21+ is also required when installing with Hugo Modules

  2. 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. 3

    Copying the exampleSite content can quickly initialize the configuration, then run hugo server

  4. 4

    Category colors, accent colors, font sources, RSS, and social links are all configured under params in hugo.toml

  5. 5

    Remark42 comments are optional and require filling in the url and site under params.remark42 in hugo.toml

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

localFonts = false # true → serve fonts from /assets/fonts/ instead of Google Fonts

Original README
https://github.com/carlosplanchon/hugo-theme-swiss-operator/blob/main/LICENSEhttps://github.com/carlosplanchon/hugo-theme-swiss-operator/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
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 |
|---|---|
| ![Swiss Operator - light mode](https://raw.githubusercontent.com/carlosplanchon/hugo-theme-swiss-operator/refs/heads/main/images/screenshot.png) | ![Swiss Operator - dark mode](https://raw.githubusercontent.com/carlosplanchon/hugo-theme-swiss-operator/refs/heads/main/images/screenshot-home-dark.png) |

---

## 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)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.